【发布时间】:2023-03-23 00:18:01
【问题描述】:
我有这个脚本,它搜索一个定义的字符串,如果找到它就删除该列。我想在工作簿中的所有工作表上运行相同的搜索。到目前为止,我已经尝试过这样设置。但它只会在 Active Sheet 上运行。
Sub RunMacroOnAllSheetsToRight()
For i = ActiveSheet.Index To Sheets.Count
Call MyFunction(i)
Next i
End Sub
Function MyFunction(i)
Dim c As Range
Dim str As String
str = "SearchStringHere"
For Each c In ActiveSheet.UsedRange
If InStr(c.Value, str) > 0 Then
c.EntireColumn.Delete Shift:=xlToLeft
End If
Next c
End Function
脚本现在循环执行,但出于某种原因仅删除单个列。需要能够匹配和删除每个工作表的多个列。
【问题讨论】:
-
使用
For each ws in thisbook.worksheets循环similar question