1

特定のコンテンツがある場合にスプレッドシートから列を削除するマクロを作成しようとしています。すべてのデータは可変長の最初の行にあります。問題は範囲の選択に関係している可能性があると思います。検索しようとすると、添え字が範囲外になり続けます。アドバイスをいただければ幸いです。:)

Sub Disk_Firmware()
   Dim c As Range
   Dim SrchRng As Range
   Dim SrchStr As String
   Set SrchRng = ActiveSheet.Range("A1").EntireRow
   SrchStr = InputBox("Please enter a search string")
   Do
      Set c = SrchRng.Find(SrchStr, LookIn:=xlvalues)
      If Not c Is Nothing Then c.EntireColumn.Delete
   Loop While Not c Is Nothing
End Sub
4

1 に答える 1

1

あなたのコードは私の VBE でまったく問題なく動作します。以下を追加しました。

SrchStr = Trim(SrchStr)

そのエラーについて、MSDN Web サイトでは、インデックス要素を指定しないように、Do While ではなく For Next を使用することを提案しています。

于 2013-08-08T12:47:12.847 に答える