如何在excel用户表单的文本框中打印一些文本



所以基本上我所做的是,我在一个用户表单上有两个依赖的组合框,第三个值将打印在一个文本框上。例如,我在组合框1中选择值animal,然后根据我的第一个选择在组合框2上有一些值,在这个例子中,我有(猫、狗、鸟(在组合框2中选择狗,然后我有一个唯一的文本,应该自动打印在我的文本框上。比如:";你是个爱狗人士;。如果我选择另一个值,比如cat,我应该有一个独特的文本("你是个爱猫的人"(等。现在看了几个教程,我有这个:

Private Sub ComboBox2_Change()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("DListes")
Dim i As Integer

Me.ComboBox3.Clear


If Me.ComboBox1 = "[SUB_SYSTEM_PMN] LONAV" Then
If Me.ComboBox2 = "DCEE" Or Me.ComboBox2 = "EEAD" Then
Me.ComboBox3.AddItem sh.Range("C2") '***Here is the Point**'
ElseIf Me.ComboBox2 = "NT" Or Me.ComboBox2 = "LI" Then
Me.ComboBox3.AddItem sh.Range("I4") '***Here too**'
End If
If Me.ComboBox1 = "DIS" Then
If Me.ComboBox2 = "DCEE" Or Me.ComboBox2 = "EEAD" Then
Me.ComboBox3.AddItem sh.Range("H2") '***Here too**'
ElseIf Me.ComboBox2 = "NT" Or Me.ComboBox2 = "LI" Then
Me.ComboBox3.AddItem sh.Range("I4") '***Here too**'
End If

End Sub

现在,正如你所看到的,我使用

Me.ComboBox3.AddItem sh.Range("C2")

Me.ComboBox3.AddItem sh.Range("I4")

因为目前我只在组合框中检索文本,但我想在文本框中检索它,因为现在我必须单击第三个组合框,然后只选择一个值,因为只有一个,我必须直接打印它。我应该更换什么:

Me.ComboBox2.Value = sh.Range("H" & i)

与。

提前知道。

如果希望组合框自动显示文本,只需将属性ListIndex设置为项的索引(计数从0开始(。因此,要显示第一个条目,您可以使用以下内容:

With Me.ComboBox3
.Clear
.AddItem "Hallo"
.ListIndex = 0
End With

如果你只想显示文本而不需要组合框(用户不应该选择任何内容(,你可以使用文本框。使用Value-属性设置文本框的文本:

Me.TextBox1.Value = "Hello"

但是,文本框是一个输入字段。如果要防止用户输入内容,则需要将enabled-属性设置为False。这样做的缺点是,文本显示为灰色字体,很难阅读。

另一种选择是使用简单的标签。对于标签,您可以通过Caption-属性设置文本:

Me.Label1.Caption = "Hello"

最新更新