在打开格式单元格、填充对话框时,是否可以使这个宏停止,这样我就可以选择颜色并让脚本在选择OK时继续。
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发布于 2015-04-04 04:20:48
是的是可能的。在你继续走这条路之前,VBA是一个自动化工具。如果我是你,我会花更多的时间根据数据来设置颜色(如果字段等于"x“,那么颜色是蓝色的),而不是让用户随意地做。如果需要人工干预,这不是自动化。
您需要在代码中插入用户输入,这要求用户在代码继续之前进行选择。
在http://www.cpearson.com/Excel/Colors.aspx上找到这一点,它确实需要modColorFunctions巴斯文件
显示颜色选择器对话框 modColorFunctions模块包含一个名为ChooseColorDialog的函数,它将显示Windows对话框并返回RGB长颜色值。如果用户取消了对话框,结果是-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的调用。
https://stackoverflow.com/questions/19157277
复制相似问题