Vba 暂停宏并让用户选择颜色
是否可以在打开“格式单元格填充”对话框时停止此宏,以便我可以选择颜色,并在选择“确定”时继续脚本Vba 暂停宏并让用户选择颜色,vba,excel,Vba,Excel,是否可以在打开“格式单元格填充”对话框时停止此宏,以便我可以选择颜色,并在选择“确定”时继续脚本 Sub StripesOdd() Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ "=MOD(ROW(),2)=1" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority Wit
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
是的,这是可能的。在你继续走这条路太远之前-VBA是一个自动化工具。如果我是你,我会花更多的时间根据数据设置颜色(即如果字段等于“x”,则使用蓝色),而不是让用户随机设置。如果需要手动干预,这不是自动化 您需要在代码中插入用户输入,这要求用户在代码继续之前进行选择 找到这个了吗 它确实需要modColorFunctions bas文件 显示颜色选择器对话框 modColorFunctions模块包含一个名为 选择将显示Windows颜色选择器对话框的颜色选择器对话框,然后 返回RGB长颜色值。如果用户取消该对话框,则 结果是-1。比如说,
将RGB颜色调暗为同一长度
将默认值变暗为“长”
默认值=RGB(255,0,255)'默认为紫色
RGBColor=ChooseColorDialog(默认颜色:=默认)
如果RGBColor<0,则
调试。打印“***用户已取消”
其他的
调试。打印“选项:”&十六进制(RGBColor)
如果结束
当您希望用户输入颜色时,需要插入对ChooseColorDialog的调用。可以请求输入。想办法选择颜色吗?可能使用带有activeX组件的userform,该activeX组件具有一系列颜色?
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