電子書籍の厳選無料作品が豊富!

下記のコードは行に対してですが、列に対しておこないたいのですが、出来ますでしょうか

Sub 色塗り行()
Dim rng As Range, i As Long, rtn
Set rng = Worksheets("基本設定").Range("B2:C32")
With Worksheets("sheet1")
For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
rtn = Application.VLookup(.Cells(i, "A").Value, rng, 2, 0)
If Not IsError(rtn) Then
If rtn = 1 Then
Range(Cells(i, "A"), Cells(i, "AI")).Interior.ColorIndex = 15
End If
End If
Next i
End With
End Sub


https://gyazo.com/d7e6492b3ed88b8ba99f7653112694c7

基本設定シートのC列の1が有効(無効は0)の時Sheet1の
7行目のF、G列 M、N列...という感じで、7行目から32行目までを色塗りする様にしたいのですが、よろしくお願い致します。

A 回答 (1件)

こんにちは


こんな感じ?
Sub 色塗り行()
Dim rng As Range, i As Long, rtn
Set rng = Worksheets("基本設定").Range("B2:C32")
With Worksheets("sheet1")
For i = 5 To .Cells(7, Columns.Count).End(xlToLeft).Column
rtn = Application.VLookup(.Cells(7, i).Value, rng, 2, 0)
If Not IsError(rtn) Then
If rtn = 1 Then
Range(.Cells(7, i), .Cells(32, i)).Interior.ColorIndex = 15
End If
End If
Next i
End With
End Sub

Cells(i, "A"), Cells(i, "AI")・・Worksheets("sheet1")で良いのですよね
    • good
    • 0
この回答へのお礼

ありがとうございました。出来ました。

お礼日時:2022/04/29 13:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!