excel - 如果 Checkbox 值 if 语句为 TRUE,则将文本值添加到 Userform 文本框
问题描述
我有一个用户表单来更新我的货币分析表。我在右上角有一个复选框,它将指示日期选择器中的日期是否为假期。如果是(意味着复选框被选中,因此为 TRUE,那么所有文本框都将变为“HOL”的值。如果未选中(或 FALSE),文本框将是空白值,我可以在之前输入每日数字单击提交命令按钮以发送到工作表。当然,如果复选框值为 TRUE,我希望 HOL 是发送到工作表的值。请帮助...提前谢谢。复选框名称是 HOLIDAY。
这是用户表单
这是代码
Private Sub HOLIDAY_Click()
If Me.HOLIDAY.Value = True Then
Me.DTPicker1.Value = "HOL"
Me.JP_Open.Value = "HOL"
Me.JP_Hi.Value = "HOL"
Me.JP_Lo.Value = "HOL"
Me.JP_Close.Value = "HOL"
Me.CAD_Open.Value = "HOL"
Me.CAD_Hi.Value = "HOL"
Me.CAD_Lo.Value = "HOL"
Me.CAD_Close.Value = "HOL"
Me.GBP_Open.Value = "HOL"
Me.GBP_Hi.Value = "HOL"
Me.GBP_Lo.Value = "HOL"
Me.GBP_Close.Value = "HOL"
Me.Swiss_Open.Value = "HOL"
Me.Swiss_Hi.Value = "HOL"
Me.Swiss_Lo.Value = "HOL"
Me.Swiss_Close.Value = "HOL"
Me.AUD_Open.Value = "HOL"
Me.AUD_Hi.Value = "HOL"
Me.AUD_Lo.Value = "HOL"
Me.AUD_Close.Value = "HOL"
Me.Euro_Open.Value = "HOL"
Me.Euro_Hi.Value = "HOL"
Me.Euro_Lo.Value = "HOL"
Me.Euro_Close.Value = "HOL"
Me.EURJPY_Open.Value = "HOL"
Me.EURJPY_Hi.Value = "HOL"
Me.EURJPY_Lo.Value = "HOL"
Me.EURJPY_Close.Value = "HOL"
Me.AUDNZD_Open.Value = "HOL"
Me.AUDNZD_Hi.Value = "HOL"
Me.AUDNZD_Lo.Value = "HOL"
Me.AUDNZD_Close.Value = "HOL"
Me.EURNZD_Open.Value = "HOL"
Me.EURNZD_Hi.Value = "HOL"
Me.EURNZD_Lo.Value = "HOL"
Me.EURNZD_Close.Value = "HOL"
Me.NZDCAD_Open.Value = "HOL"
Me.NZDCAD_Hi.Value = "HOL"
Me.NZDCAD_Lo.Value = "HOL"
Me.NZDCAD_Close.Value = "HOL"
Me.NZDUSD_Open.Value = "HOL"
Me.NZDUSD_Hi.Value = "HOL"
Me.NZDUSD_Lo.Value = "HOL"
Me.NZDUSD_Close.Value = "HOL"
Me.NZDJPY_Open.Value = "HOL"
Me.NZDJPY_Hi.Value = "HOL"
Me.NZDJPY_Lo.Value = "HOL"
Me.NZDJPY_Close.Value = "HOL"
Me.GBPJPY_Open.Value = "HOL"
Me.GBPJPY_Hi.Value = "HOL"
Me.GBPJPY_Lo.Value = "HOL"
Me.GBPJPY_Close.Value = "HOL"
Else
Me.DTPicker1.Value = ""
Me.JP_Open.Value = ""
Me.JP_Hi.Value = ""
Me.JP_Lo.Value = ""
Me.JP_Close.Value = ""
Me.CAD_Open.Value = ""
Me.CAD_Hi.Value = ""
Me.CAD_Lo.Value = ""
Me.CAD_Close.Value = ""
Me.GBP_Open.Value = ""
Me.GBP_Hi.Value = ""
Me.GBP_Lo.Value = ""
Me.GBP_Close.Value = ""
Me.Swiss_Open.Value = ""
Me.Swiss_Hi.Value = ""
Me.Swiss_Lo.Value = ""
Me.Swiss_Close.Value = ""
Me.AUD_Open.Value = ""
Me.AUD_Hi.Value = ""
Me.AUD_Lo.Value = ""
Me.AUD_Close.Value = ""
Me.Euro_Open.Value = ""
Me.Euro_Hi.Value = ""
Me.Euro_Lo.Value = ""
Me.Euro_Close.Value = ""
Me.EURJPY_Open.Value = ""
Me.EURJPY_Hi.Value = ""
Me.EURJPY_Lo.Value = ""
Me.EURJPY_Close.Value = ""
Me.AUDNZD_Open.Value = ""
Me.AUDNZD_Hi.Value = ""
Me.AUDNZD_Lo.Value = ""
Me.AUDNZD_Close.Value = ""
Me.EURNZD_Open.Value = ""
Me.EURNZD_Hi.Value = ""
Me.EURNZD_Lo.Value = ""
Me.EURNZD_Close.Value = ""
Me.NZDCAD_Open.Value = ""
Me.NZDCAD_Hi.Value = ""
Me.NZDCAD_Lo.Value = ""
Me.NZDCAD_Close.Value = ""
Me.NZDUSD_Open.Value = ""
Me.NZDUSD_Hi.Value = ""
Me.NZDUSD_Lo.Value = ""
Me.NZDUSD_Close.Value = ""
Me.NZDJPY_Open.Value = ""
Me.NZDJPY_Hi.Value = ""
Me.NZDJPY_Lo.Value = ""
Me.NZDJPY_Close.Value = ""
Me.GBPJPY_Open.Value = ""
Me.GBPJPY_Hi.Value = ""
Me.GBPJPY_Lo.Value = ""
Me.GBPJPY_Close.Value = ""
End If
End Sub
如果您需要更多信息或更多我的代码。再次提前致谢。
我现在已经使用了这段代码,它确实允许我单击复选框并将 HOL 添加到所有字段......但是在尝试清除文本框或关闭用户窗体时收到错误消息。
Private Sub Holiday_Click()
Dim ctrl As Control
With Me
For Each ctrl In .Controls
If TypeName(ctrl) = "TextBox" And .HOLIDAY = True Then
ctrl.Value = "HOL"
End If
Next ctrl
End With
End Sub
我不得不修改原始代码以排除 ELSE 语句
Else
ctrl.Value = ""
因为它会出错。
解决方案
推荐阅读
- c# - 如何将 audioclip 数组中的音频声音分配给 Gameobject 数组
- javascript - React:如何使选定的选项不显示在 Material UI 自动完成的输入字段中
- java - logback 无法登录调试
- python - Plotly:如何在 plotly express 折线图中更改图例的变量/标签名称?
- java - 在 Kotlin 中为 Android 开发时应该使用哪些 api 文档?
- linux - 使内核 5.9 错误失败:从 vmlinux 加载 BTF
- python - 使用 BeautifulSoup 从 UPS 网站提取表格
- python - 基于替换和不替换规则的子字符串替换
- javascript - 服务器端渲染构建错误期间 Gatsby 窗口不可用
- oracle - 同一张表oracle的嵌套查询