Excel VBA質問箱 IV

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

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


15955 / 76734 ←次へ | 前へ→

【66253】Re:重複データの削除
発言  かみちゃん E-MAIL  - 10/8/12(木) 15:16 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>「RangeクラスのSelectメソッドが失敗しました。」

どこのコードで出ますか?
Sheet2がアクティブシートでない状態でご提示のマクロを実行するとそのエラーが出ます。

>上下のセルが異なる値になるとその先の処理をしてくれなくなります。

違う色の場合に 列番号の変数である i を加算していません。

> 何処を改善したらよいのでしょうか?

そもそも、上下が同じ値の場合は、セルの内容をクリアして、
異なる場合は、色を付けたいのではないでしょうか?

それであれば、セルやシートをSelect する必要はありませんし、
セルの内容をクリアするだけでいいのであれば、DeleteよりClearのほうがよいです。

以下がサンプルです。

Sub 重複セル削除2()
 Dim i As Integer
 i = 1
 
 Do
  With Worksheets("Sheet2")
   If .Cells(1, i).Value = .Cells(2, i).Value Then
    '上下が同じ値の場合
    .Cells(2, i).Clear 'セルを消去
   Else
    '上下が異なる値の場合
    .Cells(2, i).Interior.ColorIndex = 4  '違う場合色をつける
   End If
  End With
  i = i + 1
 Loop Until i = 180
End Sub

> VBAの勉強を始めた者なのですが、ネットや本等をみて色々勉強はしたつもり

「マクロの記録」で記録してみたり、ヘルプで調べたりするのもよいかもしれません。

2 hits

【66252】重複データの削除 lawry 10/8/12(木) 14:59 質問
【66253】Re:重複データの削除 かみちゃん 10/8/12(木) 15:16 発言
【66255】Re:重複データの削除 lawry 10/8/12(木) 16:04 お礼

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