• ベストアンサー

マクロで特定の行まで削除する方法を探しています。

マクロで特定の行まで削除する方法を探しています。 具体的にはA列の10~20行の間に [ 進む ] と入力されているセルがあるので、その文字を含む行まで削除する方法を探しています。 A11に進むとあればA1~A11までを削除、A14に進むと入力されていればA1~A14までという感じです。 よろしくお願いします。

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

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.3

以下でできると思います。   Sub 進むまでの行削除()  For I = 10 To 20   If Cells(I, "A") = "進む" Then    Range("A1", Cells(I, "A")).EntireRow.Delete    Exit Sub   End If  Next I End Sub ※お詫び 前回の質問で「最初の罫線を判断して…」で間違いがありました。  以下の用に変更して下さい。 Sub 罫線までの行削除()  For I = 1 To Cells.SpecialCells(xlCellTypeLastCell).Row   If Cells(I, "A").Borders(xlEdgeBottom).LineStyle <> xlNone Then    Range("A1", Cells(I, "A")).EntireRow.Delete    Exit Sub   End If  Next I End Sub

aria1234
質問者

お礼

前回の回答含めありがとうございます。 for~next文はよく使用するのでこういう方法もあるという意味で助かります。 ありがとうございました。

その他の回答 (2)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

Findのオプションはお好みでアレンジしてください。エラー処理無し、複数存在しない事が前提ですが。 Sub test() Range("A1", Range("A10:A20").Find("進む", LookIn:=xlValue, lookat:=xlWhole)).EntireRow.Delete End Sub

aria1234
質問者

お礼

こちらの形もためしていきたいと思います

  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

VBAによるセルの操作が書いてあります。 http://www.voicechatjapan.com/excelvba/VBArei2.htm OFFSETを使うなど良いでしょう。 たぶんそのまま使える回答が出てくると思うので そのコード意味の確認はお願いします。

aria1234
質問者

お礼

有用なサイトありがとうございます。 もっと勉強していきたいと思います。

関連するQ&A

専門家に質問してみよう