首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >暂停宏并让用户选择颜色

问暂停宏并让用户选择颜色
EN

Stack Overflow用户
提问于 2013-10-03 10:51:44
回答 1查看 975关注 0票数 3

在打开格式单元格、填充对话框时,是否可以使这个宏停止,这样我就可以选择颜色并让脚本在选择OK时继续。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2015-04-04 04:20:48

是的是可能的。在你继续走这条路之前,VBA是一个自动化工具。如果我是你,我会花更多的时间根据数据来设置颜色(如果字段等于"x“,那么颜色是蓝色的),而不是让用户随意地做。如果需要人工干预,这不是自动化。

您需要在代码中插入用户输入,这要求用户在代码继续之前进行选择。

在http://www.cpearson.com/Excel/Colors.aspx上找到这一点,它确实需要modColorFunctions巴斯文件

显示颜色选择器对话框 modColorFunctions模块包含一个名为ChooseColorDialog的函数,它将显示Windows对话框并返回RGB长颜色值。如果用户取消了对话框,结果是-1。例如,

代码语言:javascript
复制
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的调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19157277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档