我正在尝试让userform在更新文本框时更新其他字段。
我的问题是即使我写TextBox1.Value
它仍然将我的输入视为文本,因此只有在表格中将我的数字格式化为文本时才会找到匹配。
以下是我目前的代码:
Private Sub TextBox1_Change()
On Error Resume Next
ComboBox2.Value = Application.WorksheetFunction.Index(Sheets("Projekt").Range("Projektnamn"), Application.WorksheetFunction.Match(TextBox1.Value, Sheets("Projekt").Range("Projektnr"), 0), 1)
End Sub
此代码有效但未连接到userform。 (我输入了一个数字(155001),范围:“Projektnr”包含) 因此,匹配功能的第一部分不起作用。
Private Sub TextBox1_Change()
On Error Resume Next
ComboBox1.Value = Application.WorksheetFunction.Index(Sheets("Projekt").Range("Projektnamn"), Application.WorksheetFunction.Match(155001, Sheets("Projekt").Range("Projektnr"), 0), 1)
End Sub
我尝试了gizlmeiers的建议,但仍然拒绝找到匹配。 我也附上了这段代码:
Private Sub TextBox1_Change()
On Error Resume Next
Test = CInt(TextBox1.Value)
ComboBox1.Value = Application.WorksheetFunction.Index(Sheets("Projekt").Range("Projektnamn"), Application.WorksheetFunction.Match(Test, Sheets("Projekt").Range("Projektnr"), 0), 1)
答案 0 :(得分:0)
所以你试图比较两个数字,但文本框中的数字被解释为字符串?
您可以通过使用CINT()
告诉vba将其解释为数字CINT(TextBox1.Value)