- 締切済み
A列で太郎、一郎、三郎を検索し、検索された太郎、一郎、三郎のB列、C列
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- xls88
- ベストアンサー率56% (669/1189)
進んでいますか? 大丈夫ですか? すぐに回答を!と希望されながら全く応答がないので心配しています。 もう一例、提示します。 Dim i As Long Do With Range("A1").Offset(i) If .Value = "太郎" Or .Value = "一郎" Or .Value = "三郎" Then .Offset(, 1).Resize(, 3).Value = 0 .Offset(, 1).Resize(, 3).Interior.ColorIndex = 35 End If End With i = i + 1 Loop Until ActiveCell.Offset(i).Value = ""
- xls88
- ベストアンサー率56% (669/1189)
色々やり方はあると思います。 Dim c As Range Dim rng As Range Dim flg As Boolean Set rng = Range("A1:A50") For Each c In rng flg = False Select Case c.Value Case "太郎": flg = True Case "一郎": flg = True Case "三郎": flg = True End Select With c.Offset(, 1).Resize(, 3) If flg = True Then .Value = 0 .Interior.ColorIndex = 8 Else .Interior.ColorIndex = xlNone End If End With Next ColorIndex値は、セル塗り潰しをマクロの記録して調べてください。 対象セル範囲の求め方は、Web検索すればたくさん参考事例がヒットすると思います。
- chuchuo
- ベストアンサー率45% (99/217)
A列の行数がわからないので ループは条件ループとしました。 一例です Sub Macro1() i = 1 gtr0000: If Range("a1").Cells(i).Value <> "" Then If Range("a1").Cells(i).Value = "太郎" _ Or Range("a1").Cells(i).Value = "一郎" _ Or Range("a1").Cells(i).Value = "三郎" Then For j = 1 To 3 Range("b1").Cells(i, j).Value = 0 Range("b1").Cells(i, j).Select With Selection.Interior .ColorIndex = 35 .Pattern = xlSolid End With Next j End If i = i + 1 GoTo gtr0000 Else Exit Sub End If End Sub