2

私は最近、私の会社の大規模な (っぽい) マクロの 1 つの速度を速めるという約束を与えられました。これまでのところ、私はかなりまともな仕事をしてきました。最後のライターは多かれ少なかれレコード機能を使用していたため(コードの一部が不要になりました)、次のフォーマット条件につながりました。

With Range("AH10:AP10").Interior
    .Pattern = xlSolid
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = -0.249977111117893
End With
With Range("AH17:AP17").Interior
    .Pattern = xlSolid
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = -0.249977111117893
End With
With Range("AH24:AP24").Interior
    .Pattern = xlSolid
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = -0.249977111117893
End With
With Range("AH34:AP34").Interior
    .Pattern = xlSolid
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = -0.249977111117893
End With
With Range("AH42:AP42").Interior
    .Pattern = xlSolid
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = -0.249977111117893
End With

私の質問は、なぜこれがその場所で機能しないのですか?

Dim RangeArr(5) As Variant
RangeArr(0) = Range("AH10:AP10")
RangeArr(1) = Range("AH17:AP17")
RangeArr(2) = Range("AH24:AP24")
RangeArr(3) = Range("AH34:AP34")
RangeArr(4) = Range("AH42:AP42")

For i = 0 To 4
With RangeArr(i).Interior
    .Pattern = xlSolid
    .ThemeColor = xlThemeColorDark1
    .TintAndShade = -0.249977111117893
End With
Next

実行時エラー 424、ループに必要なオブジェクトが表示されますが、msgbox 印刷を使用すると、配列はそのように評価されます。間違って書き込まれたのは配列だと思いますが、修正方法がわかりません。任意の提案をいただければ幸いです。ありがとう!

4

1 に答える 1