[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『重複してるデータだけのこしたい』(丸かぶり)
ご教示ください。
A列に
A1111
A1111
A1111
B2222
C3333
C3333
とあったら重複していないB2222の行を削除したいのですが、
VBAでどのように記述すれば、分かりません。
教えていただけますと幸いです。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
どうしてもマクロで書きたい場合、同じように(同じ命令でなく、ForループでもOK)重複数を調べて、重複が無い場合に削除しましょう。このとき、上の行から処理すると、削除によって行が変わってしまうので、下の行から上にループすると良いでしょう。
(???) 2016/11/30(水) 14:21
Dim c As Range Range("B1").FormulaR1C1 = "=IF(COUNTIF(C[-1],RC[-1])=1,"""",RC[-1])" Set c = Intersect(Range("A:A"), ActiveSheet.UsedRange).Offset(, 1) Range("B1").AutoFill Destination:=c c.Copy Range("A1").PasteSpecial Paste:=xlPasteValues c.ClearContents Range("A:A").TextToColumns Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub (mm) 2016/11/30(水) 18:30
VBA処理一例です。(でも、???さん指摘のように 関数と操作でいいのでは?)
Sub Sample() With Range("A1", Range("A" & Rows.Count).End(xlUp)).Offset(, 1) .Formula = "=IF(COUNTIF(A:A,A1)=1,1,"""")" On Error Resume Next .SpecialCells(xlCellTypeFormulas, xlNumbers).EntireRow.Delete On Error GoTo 0 End With Columns("B").Clear End Sub
(β) 2016/11/30(水) 23:49
???様の方法で記述できました。
こういう発想がでてこないんですよね。
尊敬します。
(丸かぶり) 2016/12/01(木) 06:58
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.