【问题标题】:Is there a way to display text based on value?有没有办法根据值显示文本?
【发布时间】:2019-05-09 13:53:05
【问题描述】:

我使用包含 VBA 的软件,它具有完整的 vba 参考库以及自己的自定义内容。

所以我的问题与我假设的所有地方都应该相同的 vba 部分有关。

我有 5 个变量可以选择作为设定点(一次一个),我也有每个变量的反馈信号,显示它是打开还是关闭。

在表单的显示中,我有一个文本行,无论选择哪个变量,我都想显示该文本行。

那么有没有办法编写一个代码“如果这个变量是真的显示它”?

谢谢你们,

【问题讨论】:

  • 基本上任何更新变量都将负责更新表单上的标签(?)。鉴于您的问题没有真正的细节,很难说比这更具体的内容。

标签: vba proficy


【解决方案1】:

完成我之前的回答后,我再次阅读了您的问题,并意识到我写的可能不是您想要做的。

就像蒂姆说的,如果反馈信号不用于其他任何事情,而不是为每个选项设置一个变量,让选择设置文本。

Private Sub Selection1CommandButton_OnClick()

  Userform1.textdisplaybox.caption = "option1"

End Sub

或者也许检查组合框,下拉选择菜单。这可能将您要查找的所有内容合而为一。

原始答案如下。

我有点不确定您要问什么,但我认为您希望之前选择的选项仅在有信号时显示在文本中。我不知道您将选择保留在哪里,现在我只是假设它是一个名为 selectedOption 的全局变量,其中 option1、option2 等被选中。

这样的事情可能是你正在尝试的:

Private sub

'If both the selected option is the first and the feedback signal
'is true, then set the display to that option
If selectedOption = option1 and variableSignal1 = True Then
       Userform1.textdisplaybox.caption = option1

'Option is the second and signal is true
ElseIf selectedOption = option2 and variableSignal2 = True Then
       Userform1.textdisplaybox.caption = option2
'However many else ifs you need, then if the signal is not true,
'blank the textbox
Else
       Userform1.textdisplaybox.caption = ""
Endif

End sub

如果信号要自行打开和关闭,那么您可以添加一个计时器并将其设置为超时。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 2021-12-25
    • 2020-06-10
    • 2014-09-26
    • 2021-06-04
    相关资源
    最近更新 更多