- ベストアンサー
特定の名前の行を削除するには?
VBA初心者なので、よろしくお願いします。 品名 データ1 データ2 ・・・・ 砂糖 123 456 塩 789 123 粉 456 789 ・・・・ このような表で、特定の品名(例えば塩)の行を削除するにはどうすれば良いのでしょうか? 塩がどの行にあるのかは定かでありません。また、無いかもしれません。 以上、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
品名はA列として。 塩が、ひとつしかない、または、全然ない、場合。 '------------------------------------------------ Sub Test() Dim R As Long For R = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 If Cells(R, "A").Value = "塩" Then Rows(R).Delete xlUp Exit Sub '●● End If Next R End Sub '--------------------------------------- 塩、が複数あるか、全然ない場合は、 上記●●のコードを削除する。 '------------------------------------------------------ ■Findメソッドを使った場合。 '------------------------------------------------------ Sub Test() Dim myCell As Range Set myCell = Range("A:A").Find("塩", , xlValues, xlWhole) If Not myCell Is Nothing Then myCell.EntireRow.Delete xlUp End If End Sub '----------------------------------------------------- このFindメソッドの例は、 ”塩”が、ひとつ、又は、全然ない、場合の例です。 検査値(塩)が複数ある場合はも少し複雑なコードなります。 以上です。
その他の回答 (2)
- zongai
- ベストアンサー率31% (470/1474)
MS Officeカテゴリですが、Excel、Word、Accessなどでも表を扱えます。 お使いになられているのは?バージョンは?
- zongai
- ベストアンサー率31% (470/1474)
対象とするデータがExcel? Excelなら、「品名」のセルを選択し、オートフィルタを実行。 「塩」だけを表示させ行削除。 オートフィルタを解除。 これだけでいいと思います。 これをVBAでやりたいということ?
お礼
ご回答、ありがとうございます。 すいません。削除させた後の計算もあるので、マクロでやりたいのです。 よろしくお願いします。
お礼
検査値は2つありませんので、Findメソッドを使った場合で出来ました。 ありがとうございます。