[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『行の削除』(絵癖瑠二千酸)
以下のようなリストがあります。
A B 1 コード 品名 2 222 リンゴ 3 333 ミカン 4 444 トマト 5 888 メロン
コードが(333、444、888)の場合は該当行を削除。 上記の場合、結果的に行2のリンゴが残ります。 実際のリストは約3000行で、同一コード(同一品名)が 多数あります。出来れば、コードが重複する行も削除したい。
以上の処理をVBで行いたいのですが、過去ログで見つける ことができませんでした。よろしくお願いします。
XP、エクセル2003です。
フィルタオプションの設定が使えると思います。 [A] [B] [C] [D] [E] [F] [G] [H] [I] [1] コード 品名 コード 品名 コード コード コード [2] 222 リンゴ 222 リンゴ <>333 <>444 <>888 [3] 333 ミカン [4] 444 トマト [5] 888 メロン [6] 222 リンゴ [7] G1:I2の様に設定をして フィルタオプションの設定で 「重複するレコードは無視する」にチェックを入れて D1セルから書き出し。 書いた条件(G1:I2の値)を削除。
マクロにしたいなら、記録にとれば マクロになりますね。
(HANA)
C列を作業列にした場合の方法です。
Sub sample() Dim rng As Range Set rng = Range("a2", Cells(Rows.Count, "a").End(xlUp)) If rng.Row > 1 Then With rng.Offset(0, 2) 'C列を作業列で使用 尚、D列にしたいなら rng.Offset(0, 3) .Formula = "=if(or(a2=333,a2=444,a2=888,countif($a$2:a2,a2)>1),1,"""")" With .Offset(-1, 0).Resize(.Rows.Count + 1, 1) On Error Resume Next .SpecialCells(xlCellTypeFormulas, xlNumbers).EntireRow.Delete On Error GoTo 0 End With .ClearContents End With End If End Sub
ichinose
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.