• ベストアンサー

特定の名前の行を削除するには?

VBA初心者なので、よろしくお願いします。 品名  データ1  データ2  ・・・・ 砂糖   123    456 塩     789    123 粉     456    789 ・・・・ このような表で、特定の品名(例えば塩)の行を削除するにはどうすれば良いのでしょうか? 塩がどの行にあるのかは定かでありません。また、無いかもしれません。 以上、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.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メソッドの例は、 ”塩”が、ひとつ、又は、全然ない、場合の例です。 検査値(塩)が複数ある場合はも少し複雑なコードなります。 以上です。

0pus0ne
質問者

お礼

検査値は2つありませんので、Findメソッドを使った場合で出来ました。 ありがとうございます。

その他の回答 (2)

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.2

MS Officeカテゴリですが、Excel、Word、Accessなどでも表を扱えます。 お使いになられているのは?バージョンは?

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.1

対象とするデータがExcel? Excelなら、「品名」のセルを選択し、オートフィルタを実行。 「塩」だけを表示させ行削除。 オートフィルタを解除。 これだけでいいと思います。 これをVBAでやりたいということ?

0pus0ne
質問者

お礼

ご回答、ありがとうございます。 すいません。削除させた後の計算もあるので、マクロでやりたいのです。 よろしくお願いします。

関連するQ&A