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 网站建议您使用 For Next 而不是 Do While,以免指定索引元素。

于 2013-08-08T12:47:12.847 回答