excel vba宏删除列基于单元格内容

时间:2013-08-08 12:08:06

标签: excel vba

如果他们有某些内容,我正在尝试编写一个宏来删除电子表格中的列。所有数据都在第一行,可变长度。我认为问题可能与我的范围选择有关。当我尝试进行搜索时,我不断将下标超出范围。任何意见,将不胜感激。 :)

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

1 个答案:

答案 0 :(得分:1)

你的代码在我的VBE中运行得非常好。我刚刚添加了以下内容:

SrchStr = Trim(SrchStr)

对于该错误,MSDN网站建议您使用For Next而不是Do While,以便不指定索引元素。