Может ли кто-нибудь помочь мне с макро /VBA, поскольку то, что я прошу, немного продвинуто для меня, чтобы достичь.
У меня есть книга Excel с 10 листами данных.
Макрос, который у меня есть, в основном переформатирует и изменяет некоторые элементы на листе, он довольно простой, но он выполняет свою работу.
Раньше у меня был только 1 лист, но теперь у меня есть 10 листов, мне нужен мой макрос для циклического перемещения по листам и внесения одинаковых изменений на каждом листе, НО ТОЛЬКО если лист НЕ содержит значение «UK» в ячейке A1. Если лист содержит UK в ячейке A1, я хочу, чтобы он пропустил этот лист, не вносил изменений и переходил к следующему.
Для примера, скажем, я хочу удалить столбец H и изменить цвет текста на красный. Как бы я сделал это, используя правила, которые я изложил выше?
Я надеюсь это имеет смысл.
заранее спасибо
К вашему сведению, я использую Excel 2016
ОБНОВИТЬ:
Макрос, который я записал, выглядит следующим образом;
Sub Sort_Data()
'
' Sort_Data Macro
'
'
Sheets("Sheet2").Select
Columns("AG:AI").Select
Selection.Delete Shift:=xlToLeft
Columns("AE:AE").Select
Selection.Delete Shift:=xlToLeft
Columns("H:AA").Select
Range("AA1").Activate
Selection.Delete Shift:=xlToLeft
Columns("E:E").Select
Selection.Cut
Columns("B:B").Select
Selection.Insert Shift:=xlToRight
Columns("J:M").Select
Selection.Cut
Columns("H:H").Select
Selection.Insert Shift:=xlToRight
Columns("B:B").Select
Selection.Copy
Columns("P:P").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Columns("P:P").Select
Application.CutCopyMode = False
ExecuteExcel4Macro _
"FORMULA.REPLACE(""$"","""",2,1,FALSE,FALSE,,FALSE,FALSE,FALSE,FALSE)"
Range("Q2").Select
ActiveCell.FormulaR1C1 = "=RC[-1]/RC[-9]"
Selection.AutoFill Destination:=Range("Q2:Q6")
Range("Q2:Q6").Select
Columns("H:H").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Columns("R:R").Select
Selection.Copy
Columns("H:H").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Columns("Q:R").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Range("H1").Select
ExecuteExcel4Macro "PATTERNS(0,0,0,,2,2,0,0)"
Selection.Locked = True
Selection.FormulaHidden = False
ActiveCell.FormulaR1C1 = "Efficiency"
Columns("B:O").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.MergeCells = False
End With
Cells.Select
Selection.Columns.AutoFit
Range("A1").Select
End Sub
Я попытался и не смог использовать функцию цикла, объясненную здесь:
Но я просто не могу понять это. И я понятия не имею, как реализовать «пропустить листы на основе значения А1»
Спасибо