Excel2007からは重複したデータを消すことは出来ますが、同じ文字列を全部消す(ひとつものこらず)方法が無いか悩んでいます。
例えば、A1に「1234」 A2に「4231」 A3に「1234」がある場合、A1とA3どちらも削除したいです。
このような事が自動で出来るマクロをどのようにすれば作れるでしょうか?
私が考えているのは、
1)A列をソート
2)一つ前の行と比較して同じならどちらの行も消す (同じデータは、2つ以上ないです)
という具合なのですが、2の部分の書き方が分かりません。
No.1ベストアンサー
- 回答日時:
いちいちループとかまわしません。
sub macro1()
range("1:1").insert
range("B:B").insert
range("B1") = "head"
range("B2:B" & range("A65536").end(xlup).row).formula = "=COUNTIF(A:A,A2)"
range("A:B").autofilter field:=2, criteria1:=">1"
activesheet.autofilter.range.delete shift:=xlshiftup
end sub
あなたのやりたいようにしたいなら。
sub macro2()
dim i as long
range("A:A").sort key1:=range("A1"), order1:=xlascending, header:=xlno
for i = range("A65536").end(xlup).row to 2 step -1
if cells(i, "A") = cells(i - 1, "A") then
range(cells(i - 1, "A"), cells(i, "A")).delete shift:=xlshiftup
end if
next i
end sub
解法を教えていただいて、すごくよくわかりました。
B列に同じ数字をカウントする式を入れてそれをフィルタで抽出、削除する、という方法ですね。
明快なご回答ありがとうございました。
No.2
- 回答日時:
一例です。
同一行を抽出後、行削除しています。
Sub sample()
Dim wk()
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Application.CountIf(Range("A:A"), Cells(i, 1)) > 1 Then
ReDim Preserve wk(n)
wk(n) = Cells(i, 1).Row
n = n + 1
End If
Next
For i = 0 To UBound(wk)
Rows(wk(i)).Delete
Next
Application.ScreenUpdating = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルやパワポファイルの保...
-
Microsoft Officeを2台目のPCに...
-
エクセル マクロVBAについて教...
-
エクセルで自動的にQRを表示さ...
-
エクセルにおいて品名コードを...
-
Office 2021 Professional Plus...
-
会社のPCに入っているExcelでバ...
-
office365って抵抗感ないですか?
-
英数字のみ全角から半角に変換
-
会社PCのメールが更新されない
-
マクロのコードを教えてください。
-
マクロの書き方を教えて下さい
-
excelの画面のグリッド線の消滅。
-
マクロ自動コピペ 貼り付ける場...
-
Outlook 電源OFFの受診の仕方
-
Excel 日付を比較したら、同じ...
-
Excel テーブル内の空白行の削除
-
エクセルでXLOOKUP関数...
-
outlookのメールが固まってしま...
-
teams設定教えて下さい。 ①ビデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列内データにsmallを使う
-
UWSCでie内のデータを取得しエ...
-
【VBA】 通し番号の入力について
-
Excel vba PDF 複数ファイルを...
-
楽天RSS エクセルのマクロで10...
-
Excel VBA データ差し込みPDF...
-
結合したセルの並び替え(エク...
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
エクセル関数>参照ファイル名...
-
エクセル ボタンに設定したマク...
-
【Excel VBA】マクロでExcel自...
-
Excelのマクロでボタンを押すと...
-
エクセルで、「いいね」のよう...
-
エクセル マクロ名にブック名...
-
エクセルの表を複数枚印刷した...
-
マクロの保存先、開いてるすべ...
-
エクセルの、記録を終了したマ...
-
【Excel】マクロの保存先について
おすすめ情報