重複行を削除するマクロを作っていますが、うまくいきません。
2行目にタイトルが入っていて、3行目以降が必要なデータになります。
この中でA列が一致しているデータ行を削除したいと考えており、
重複データが削除された後、タイトル行がなぜか一番下の行にはりついてしまいます。
どなたか詳しい方助けてください!!!よろしくお願いします。
ちなみに以下が現在使用しているVBAコードです。
===============================================================
Sub GoodRemoveDuplicates()
'A列にデータが入力されており、そのデータを並べ替えた後、
'重複するデータが含まれている行を削除するマクロ
Worksheets("貼り付け用用マクロ").Range("A1").Sort _
key1:=Worksheets("貼り付け用用マクロ").Range("A1")
Set currentCell = Worksheets("貼り付け用用マクロ").Range("A1")
Do While Not IsEmpty(currentCell)
Set nextCell = currentCell.Offset(1, 0)
If nextCell.Value = currentCell.Value Then
currentCell.EntireRow.Delete
End If
Set currentCell = nextCell
Loop
End Sub
===============================================================
No.3ベストアンサー
- 回答日時:
#2です。
重複削除が出来ないそうですが、その部分はWarabi-0212さんが作成されたもので、
Set currentCell = Worksheets("貼り付け用用マクロ").Range("A1")を
Set currentCell = ws.Range("A3")に変更しただけです。
削除できない理由として考えられるのは、currentCell がA1のままかつ、A1又はA2が空白であればDo~Loopを抜けてしまうので、行削除がされない可能性はあります。
私はcurrentCellをA3から開始するように変更していますが、A1のままという事はありませんか?
コードを全てコピペすれば動くはずのですが。
下記方法でも可能だと思います。
Sub Sample02()
Dim i, Maxrow As Long
Dim ws As Worksheet
'ワークシート名を変数wsに格納
Set ws = Worksheets("sheet1")
'A列の最終行取得
Maxrow = ws.Cells(Rows.Count, "A").End(xlUp).Row
'セルA3以下を降順ソート
ws.Range(Cells(3, "A"), Cells(Maxrow, "A")) _
.Sort key1:=ws.Range("A3"), order1:=xlAscending
'A3以降の重複行を削除
With ws.Range("A3")
For i = .CurrentRegion.Rows.Count To 1 Step -1
If .Offset(i, 0) = .Offset(i - 1, 0) Then .Offset(i, 0).EntireRow.Delete
Next i
End With
End Sub
No.2
- 回答日時:
VBAの一例です。
ご参考まで。A列をA3以下で降順ソートしたいようですが、A列全体でソートしているようです。
A列の最終行を取得し、ソート範囲を指定するVBAとしてみました。
ワークシート名が頻繁に出てくるので変数wsに格納するように変更しました。
Sub GoodRemoveDuplicates()
'A列にデータが入力されており、そのデータを並べ替えた後、
'重複するデータが含まれている行を削除するマクロ
Dim i, Maxrow As Long
Dim currentCell, nextCell As Range
Dim ws As Worksheet
'ワークシート名を変数wsに格納
Set ws = Worksheets("貼り付け用用マクロ")
'A列の最終行取得
Maxrow = ws.Cells(Rows.Count, "A").End(xlUp).Row
'セルA3以下を降順ソート
ws.Range(Cells(3, "A"), Cells(Maxrow, "A")) _
.Sort key1:=ws.Range("A3"), order1:=xlAscending
'セルA3以下の重複行を削除
Set currentCell = ws.Range("A3")
Do While Not IsEmpty(currentCell)
Set nextCell = currentCell.Offset(1, 0)
If nextCell.Value = currentCell.Value Then
currentCell.EntireRow.Delete
End If
Set currentCell = nextCell
Loop
End Sub
この回答への補足
ご教授いただき、ありがとうございます。
早速試してみましたが、うまくいきません。
重複削除もされず、A列の順番だけが変わっている状態です。
タイトルの受付番号が一番下の行に移動し、ソートされています。
やりたいことはA列の数字の重複を見て、重複している行を削除したいです。
申し訳ないですが、再度ご教授いただけますでしょうか。
よろしくお願いします。
No.1
- 回答日時:
Range("A1").Sort
とすれば当然、A列全体がソートされますから、その時点でタイトル行が下に行ってるのでしょうね。
範囲指定してからソートしないと。
参考URL:http://long-distance.jp/sb/log/eid235.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】条件に一致しない行を削...
-
エクセルのデータがない行には...
-
VBA 行削除した連番
-
マクロで最終行を取得してコピ...
-
vbaエクセルマクロについて she...
-
VBでスプレッドをしようする際...
-
数値に見えるものはすべて数値...
-
エクセルで空白行を削除する ...
-
関数入りの行挿入。。。上書き...
-
Excel マクロ 検索結果を別シ...
-
VB.net
-
【至急】Excel 同一人物の情報...
-
空白を複数行一気に挿入するには?
-
【VBA】条件に一致しない行を削...
-
エクセルのVBAで指定した行数の...
-
Access2003レポート:最終ペー...
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
エクセル ボタンに設定したマク...
-
エクセル マクロ名にブック名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】条件に一致しない行を削...
-
エクセルで空白行を削除する ...
-
マクロで最終行を取得してコピ...
-
エクセルのデータがない行には...
-
数値に見えるものはすべて数値...
-
【マクロ】A列最終行までを、カ...
-
VB.net
-
Excel VBAでオートフィルタで抽...
-
【VBA】条件に一致しない行を削...
-
エクセルで階層図を作る方法
-
列から特定の文字列検索→該当以...
-
Excel マクロ 検索結果を別シ...
-
各個体に対する平均値の自動計...
-
Excel97 指定した行だけマク...
-
空白を複数行一気に挿入するには?
-
EXCEL2007マクロ/オートフィル...
-
Access2003レポート:最終ペー...
-
EXCEL VBAでA列にある空白行よ...
-
Excel VBA オートフィルタの結...
-
VBAでの重複データに色付け
おすすめ情報