- 締切済み
VBAの作成方法を教えてください。
エクセル2013を利用しているVBA初心者です。 以下のようなデータが100行ほどあります。 列A:商品名 列B:ID テレビ 1003400345 パソコン 1003422000 電話 1003401134 クーラー 2002200000 この中で列Bの数字の下3桁が000のものだけを残して他を削除しVBA実行後は以下のようにしたいです。 列A:商品名 列B:ID パソコン 1003422000 クーラー 2002200000 どうすればよいか教えてください。 どうぞよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
No.1です。 投稿後に思ったのですが、B列はIDというコトですので、 数値だけ!という方が少ないように思えます。 数値でも文字列でもどちらでも対応したい場合は 前回の >If Cells(i, "B") Mod 1000 > 0 Then の行を >If Right(Cells(i, "B"), 3) <> "000" Then に変更してみてください。 どうも失礼しました。m(_ _)m
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! B列は必ず「数値」になっているという前提で・・・ 行ごと削除しています。 色々なやり方がありますが、オーソドックスに最終行から検索 → 削除 としてみました。 一例です。 Sub Sample1() Dim i As Long For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 If Cells(i, "B") Mod 1000 > 0 Then Rows(i).Delete End If Next i End Sub こんな感じではどうでしょうか?
お礼
ご回答いただいた内容で希望した動きになりました。 急いでいたので助かりました。 本当にありがとうございました。