Excel VBA質問箱 IV

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

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


3568 / 13644 ツリー ←次へ | 前へ→

【61354】重複セルを削除する カンジ 09/5/2(土) 10:57 質問[未読]
【61355】Re:重複セルを削除する HAM 09/5/2(土) 11:05 発言[未読]
【61356】Re:重複セルを削除する arajin 09/5/2(土) 13:43 回答[未読]
【61358】Re:重複セルを削除する カンジ 09/5/2(土) 18:18 お礼[未読]
【61357】Re:重複セルを削除する カンジ 09/5/2(土) 18:13 お礼[未読]

【61354】重複セルを削除する
質問  カンジ  - 09/5/2(土) 10:57 -

引用なし
パスワード
   重複した値のセルをクリアする方法で行き詰っています。
B列に、D列にあるセルの値と同じものがある場合にクリアする
マクロを考えていますがなかなかうまく行きません。

Sub 重複セルを空白にする()
  Dim i As Integer
  Dim j As Integer
  i = 2
  j = 2

  For j = 1 To 100 '本来はデータのある行までの設定にしたい
  
   Do While Cells(i, 2).Value <> ""
     If Cells(i, 2).Value = Cells(j, 4).Value Then
      Cells(i, 2).ClearContents
     End If
     i = i + 1
   Loop

  Next j
Range("A1").Select
End Sub

上記でうまく行きません。For・・Nextを外すと最初のセルだけが反応します。
よろしくご指導ください。

【61355】Re:重複セルを削除する
発言  HAM  - 09/5/2(土) 11:05 -

引用なし
パスワード
   ▼カンジ さん:
ほかにもっといいやり方があると思われますが
このようなやり方でいかがでしょうか

Dim j, i As Long
  For j = 1 To Cells(Rows.Count, 2).End(xlUp).Row
    For i = 1 To Cells(Rows.Count, 4).End(xlUp).Row
      If Cells(j, 2) = Cells(i, 4) Then Cells(j, 2).ClearContents
    Next i
  Next j

【61356】Re:重複セルを削除する
回答  arajin  - 09/5/2(土) 13:43 -

引用なし
パスワード
   2重にループしてはもったいないので、

Dim BRng As Range
Dim DRng As Range
Dim c As Range
With ActiveSheet
  Set BRng = .Range("B1", .Range("B" & .Rows.Count).End(xlUp))
  Set DRng = .Range("D1", .Range("D" & .Rows.Count).End(xlUp))
End With
For Each c In BRng
  If WorksheetFunction.CountIf(DRng, c.Value) > 0 Then
    c.ClearContents
  End If
Next

クリアを行うB列の方だけループにしてみましたが、
意図は伝わりましたでしょうか?

【61357】Re:重複セルを削除する
お礼  カンジ  - 09/5/2(土) 18:13 -

引用なし
パスワード
   HAMさん 早速にご指導いただきありがとうございました。
早速行ってみました。問題なく実行できました。
ヨチヨチ歩きでマクロを使っている身としては大変ありがたく
感謝いたします。これからもよろしくご指導ください。
ありがとうございました。

【61358】Re:重複セルを削除する
お礼  カンジ  - 09/5/2(土) 18:18 -

引用なし
パスワード
   arajinさん
早速のご指導ありがとうございます。
実行してみました。順調に行うことが出来ました。
内容をしっかり理解できたかというと、?ですが。
算数レベルでのマクロ取り組みをしている身としては
高等数学レベルでのマクロ(?)は難解ではあるもの
の今後もチャレンジしていきたいと思います。
今後ともよろしくお願いいたします。
ありがとうございました。

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