【发布时间】:2018-02-02 08:12:19
【问题描述】:
我有一个宏代码。我想将其应用于所有称为“机电需求日历”的工作表?我该怎么做?我是 VBA 新手。我假设这段代码需要进入某种循环,它将遍历所有工作表,但我对从哪里开始感到很困惑。这个宏是通过在excel中录制宏创建的(因为我还不擅长写VBA)
Sub v49()
'
' Macro2 Macro
'
Worksheets("M&E Demand Calendar (S.S)").Select
Cells.Select
Cells.FormatConditions.Delete
Cells.Select
Selection.FormatConditions.Add Type:=xlTextString, String:="High", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Cells.FormatConditions.Delete
Cells.Select
Selection.FormatConditions.Add Type:=xlTextString, String:="High", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Cells.Select
Selection.FormatConditions.Add Type:=xlTextString, String:="Medium", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 49407
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Cells.Select
Selection.FormatConditions.Add Type:=xlTextString, String:="Low", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 15773696
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Cells.Select
Selection.FormatConditions.Add Type:=xlTextString, String:="Distress", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Sheets("Hotel Settings").Select
Range("I6").Select
ActiveCell.FormulaR1C1 = "49"
End Sub
【问题讨论】:
-
这完全取决于你的“宏代码”是什么,而你没有发布它。
-
@braX 我已经添加了代码,任何帮助将不胜感激
-
我建议您更改宏以接受工作表作为参数。另外 摆脱所有的 select 语句。见VBA Best Practices