Excel VBA質問箱 IV

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

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


1301 / 76734 ←次へ | 前へ→

【81085】Re:VBAで重複データ
発言  γ  - 19/8/21(水) 7:15 -

引用なし
パスワード
   こんな書き方もあります。dictionaryを利用する方法です。

Sub test()
  Dim sh As Worksheet, c As Range
  Dim dic As Object

  Set dic = CreateObject("Scripting.Dictionary")

  For Each sh In Sheets(Array("Sheet1", "Sheet2", "Sheet3"))
    For Each c In sh.Range("A1:G100")
      dic(c.Value) = dic(c.Value) + 1
    Next
  Next

  For Each sh In Sheets(Array("Sheet1", "Sheet2", "Sheet3"))
    For Each c In sh.Range("A1:G100")
      If dic(c.Value) > 1 Then c.Interior.ColorIndex = 40
    Next
  Next
End Sub

ちなみに、CountIfによる方法も十分速い(0.6秒台)ですが、
上記は0.1秒台でした。
データ量にも依存するので、一概に言えないかもしれませんが、
一応参考まで。

8 hits

【81082】VBAで重複データ nao 19/8/19(月) 22:31 質問[未読]
【81083】Re:VBAで重複データ ピンク 19/8/20(火) 10:04 発言[未読]
【81084】Re:VBAで重複データ nao 19/8/20(火) 16:07 お礼[未読]
【81085】Re:VBAで重複データ γ 19/8/21(水) 7:15 発言[未読]
【81086】Re:VBAで重複データ マナ 19/8/21(水) 18:24 発言[未読]

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