こんにちは、 エクセルvba超初心者で修行中のものです。 別ブック間のすべてのシートのある列を比較し、同じ値に色を付けるというマクロを 作りたいのですが、 下記のようにシートを限定する→With Workbooks("マクロ1.xls").Sheets("Sheet1") とうまくいくのですが、それぞれのブックのすべてのシートに対して比較をしたいので With Workbooks("マクロ1.xls").worksheets と書くと コンパイルエラー、メソッドまたはデータメンバーが見つかりません と出てきてSet search1 = .Range(.Range("A2"), .Range("A" & Rows.Count).End(xlUp)) このなかの左から二つ目のRangeの色が反転します。 vba に関する勉強不足は重々承知しておりますが、意味が理解できません。 どうすれば、シート全体を検索できるようになるのでしょうか? ぜひお力をお貸しください よろしくお願いいたします。 Sub search() Dim search1 As Range, search2 As Range, s As Range, ss As Range With Workbooks("マクロ1.xls").Sheets("Sheet1") Set search1 = .Range(.Range("A2"), .Range("A" & Rows.Count).End(xlUp)) End With With Workbooks("まくろ2.xls").Sheets("Sheet1") Set search2 = .Range(.Range("i2"), .Range("i" & Rows.Count).End(xlUp)) End With For Each s In search1 For Each ss In search2 If s.Value = ss.Value Then s.Interior.ColorIndex = 6 ss.Interior.ColorIndex = 6 End If Next ss Next s End Sub
↧