当打开格式单元格填充对话框时,是否可以使此宏停止,这样我可以选择颜色并在选择“确定”时继续运行脚本。
Sub StripesOdd()
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=MOD(ROW(),2)=1"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.14996795556505
End With
Selection.FormatConditions(1).StopIfTrue = False
Application.Goto Reference:="StripesOdd"
End Sub
答案 0 :(得分:0)
是的,这是可能的。在继续沿着这条路走下去之前 - VBA是一种自动化工具。如果我是你,我会花更多时间根据数据设置颜色(即如果字段等于" x"然后颜色为蓝色),而不是允许用户随机进行。如果需要手动干预,则不是自动化。
您需要在代码中插入用户输入,这需要用户在代码继续之前进行选择。
在http://www.cpearson.com/Excel/Colors.aspx上找到此信息 它确实需要modColorFunctions bas文件
显示拾色器对话框
modColorFunctions模块包含一个名为的函数 ChooseColorDialog将显示Windows颜色选择器对话框和 返回RGB Long颜色值。如果用户取消对话框,则 结果是-1。例如,
Dim RGBColor As Long
Dim Default As Long
Default = RGB(255, 0, 255) 'default to purple
RGBColor = ChooseColorDialog(DefaultColor:=Default)
If RGBColor < 0 Then
Debug.Print "*** USER CANCELLED"
Else
Debug.Print "Choice: " & Hex(RGBColor)
End If
当您希望用户输入颜色时,您需要将调用插入ChooseColorDialog。