Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10 / 13057 ツリー ←次へ | 前へ→

【79500】【VBA】配列に収納されたRange型の中身の比較 はみかん 17/11/8(水) 20:20 質問[未読]
【79501】Re:【VBA】配列に収納されたRange型の中身... γ 17/11/8(水) 21:10 回答[未読]
【79502】Re:【VBA】配列に収納されたRange型の中身... はみかん 17/11/9(木) 21:22 お礼[未読]

【79500】【VBA】配列に収納されたRange型の中身の...
質問  はみかん  - 17/11/8(水) 20:20 -

引用なし
パスワード
   はじめまして

配列A{
複数のセル範囲(range型),
複数のセル範囲(range型),
複数のセル範囲(range型)}

配列B{
複数のセル範囲(range型),
複数のセル範囲(range型),
複数のセル範囲(range型)}

上のような配列があり、
「配列Aのp個目のセル範囲のn個目のセル」と「配列Bのp個目のセル範囲のn個目のセル」
同士を比較し、一致していればそのセルを赤く塗り潰したいです

ですが検索してもセル範囲から一部セルを抽出するような記述が見つからず、悩んでいます

記述法をご存知の方がいらっしゃいましたら、ご教示いただけますでしょうか

よろしくお願いいたします

【79501】Re:【VBA】配列に収納されたRange型の中...
回答  γ  - 17/11/8(水) 21:10 -

引用なし
パスワード
   例えば、こんな書き方があります。

Sub test()
  Dim ary1, ary2
  Dim r1 As Range
  Dim r2 As Range
  Dim j As Long
  Dim k As Long
  
  ary1 = Array(Range("A1:B2"), Range("D1:F3"))
  ary2 = Array(Range("A11:B12"), Range("D11:F13"))
  
  For j = LBound(ary1) To UBound(ary1)
    Set r1 = ary1(j)
    Set r2 = ary2(j)
    For k = 1 To r1.Count
      If r1(k).Value = r2(k).Value Then
        r1(k).Interior.Color = vbRed
        r2(k).Interior.Color = vbRed
      End If
    Next
  Next
End Sub

追加要望にはお応えいたしません。
貴兄がトライしてください。

【79502】Re:【VBA】配列に収納されたRange型の中...
お礼  はみかん  - 17/11/9(木) 21:22 -

引用なし
パスワード
   さらに添え字を付ければよかったのですね
ありがとうございました!!

10 / 13057 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free