excel vbamacros根据单元格内容删除列

我试图编写一个macros来删除电子表格中的列,如果他们有一定的内容。 所有的数据都在第一行,长度可变。 我认为这个问题可能与我的范围select有关。 当我尝试search时,我不断收到下标。 任何意见,将不胜感激。 🙂

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 

你的代码在我的VBE中工作得很好。 我刚刚添加了以下内容:

 SrchStr = Trim(SrchStr) 

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