首页 > 解决方案 > 使文本框在条件下可见

问题描述

我是 VBA 的新手,我正在尝试一些代码,但我找不到解决方案或我做错了什么。

我想要什么:两个不同文本框的组合使另一个文本框可见(因此它以不可见的形式开始)。在一个条件下,我可以使用选择案例(LLL)来做到这一点,但是当我尝试使用另一种变体时它不起作用(XXX)。没有错误消息,代码运行但不显示文本框。

Sub Visible() 

If userform.TextBox5.Value = "XXX" And userform.TextBox10.Value = "245" Then
    userform.TextBox1.Visible = True
    userform.T_1.Visible = True
  Else
    GoTo LLL
End If

LLL:
Select Case True
           
    Case userform.TextBox5.Value = "LLL", userform.TextBox10.Value >= "145"
        If userform.Option000.Value = True Then
         userform.TextBox1.Visible = True
         userform.T_1.Visible = True
        Else
         userform.TextBox1.Visible = False
         userform.T_1.Visible = False
End If

    
End Select

我理解你的一些问题我必须说我的代码很大,因为它链接到 SAP 以便从那里获取一些值,并且由于它的大小,完整的代码被分成模块,我只共享模块我正面临问题。

选择案例语句有一个案例,因为它是我需要的唯一方法。对于 TextBox5 和 TextBox10 字段,我有很多变量,这些文本框的值来自 SAP,当我组​​合它们时,其他文本框应根据给定的变量可见。问题是,对于一个组合(这个是我应用了 select case 语句的那个​​),我需要另一个变量(option000),以便 TextBox1 和 T_1 变得可见。当我尝试仅使用 if 语句时它不起作用。

标签: vbatextboxconditional-statementsvisible

解决方案


推荐阅读