Я попытался изменить макрос ниже (взятый в другом месте в Интернете), чтобы он применим ко всем листам в файле Excel. Однако это не сработало, как ожидалось. Как заставить его работать.Удалить все столбцы на всех листах, содержащих определенное слово
Sub Col_Delete_by_Word_2()
Dim Found As Range, strWord As String, Counter As Long
Dim CurrentSheet As Object
Dim ws As Worksheet
strWord = Application.InputBox("Enter the word to search for.", _
"Delete the columns with this word", Type:=2)
If strWord = "False" Or strWord = "" Then Exit Sub 'User canceled
Set Found = Cells.Find(strWord, , , xlPart, , xlNext, False)
For Each ws In ActiveWorkbook.Worksheets
If Not Found Is Nothing Then
Application.ScreenUpdating = False
Do
Found.EntireColumn.Delete
Counter = Counter + 1
Set Found = Cells.Find(strWord, , , xlPart, , xlNext, False)
Loop Until Found Is Nothing
Application.ScreenUpdating = True
MsgBox Counter & " columns deleted.", vbInformation, "Process Complete"
Else
MsgBox "No match found for: " & strWord, vbInformation, "No Match"
End If
Next
End Sub
Может ли слово быть в любом месте на листе или только рядом с номером1? –
это может быть где угодно – user3045580
Проблема в том, что она не может быть петлей на другом листе в excel, sry для того, чтобы не говорить четко сначала, мой английский не так хорошо :( – user3045580