VBA - Excel TextBox1将对象分配给变量

时间:2016-02-17 15:32:29

标签: excel vba

当我尝试将TextBox1分配给变量X时出现错误。

Sub TB1()
   Dim X As TextBox
   Dim Y As String
   X = TextBox1
   If Len(X) < 4 Then
     Y = X
     Do
        Y = "0" & Y
     Loop Until Len(Y) >= 4
     X = Y
   End If
End Sub

1 个答案:

答案 0 :(得分:3)

你有一些问题。有关详细信息,请参阅注释

Sub TB1()
   Dim X As TextBox
   Dim Y As String

   Set X = Me.TextBoxes("Textbox 1")   
   'You need to have some sort of reference to get to the textbox.  
   'Me in this case is a worksheet object I tested in the Sheet1 module.  
   'It has a collection of textboxes which you can refer to by name.  Click on your textbox in excel to see the name in the upper left corner.
   'The `Set` syntax is necessary for objects 

   If Len(X.Text) < 4 Then
     Y = X.Text 
     'Have to explicitly refer to the text in the textbox since it has other properties you can change like height and width
     Do
        Y = "0" & Y
     Loop Until Len(Y) >= 4
     X.Text = Y 'Explicitly refer to the textbox text again to reassign
   End If
End Sub