分配变量?

时间:2015-04-25 21:59:28

标签: for-loop each office-2010

我已经找了一段时间找到答案,我看到一些类似的代码,并尝试调整我的代码工作。基本上,我需要userform上的所有文本框都根据从其中一个文本框中的另一个工作表收到的文本变成白色字体。我知道我很亲近,但我不明白措辞的位置!

Sub ChangeClr() 
Dim tbMyTextBox As TextBox 
Dim ufMyUserForm As UserForm 
For Each tbMyTextBox In ufMyUserForm 
    If tbAction1 = "Tank In Spec" Then 
        tbMyTextBox.BackColor = vbGreen 
        tbMyTextBox.ForeColor = vbBlack 
    Else 
        tbTextBox.BackColor = vbGreen 
        tbMyTextBox.ForeColor = vbBlack 
    End If 
Next tbMyTextBox 
End Sub

1 个答案:

答案 0 :(得分:0)

现在我知道您在Excel中使用VBScript,此代码将根据操作文本框中的措辞循环并更改所有文本框(包括操作文本框)。您可以调整到您的确切规格。

Dim varControl As Control


For Each varControl In ufMyUserForm.Controls

 If TypeOf varControl Is MSForms.TextBox Then
         If tbAction1 = "Tank In Spec" Then
            varControl.BackColor = vbRed
            varControl.ForeColor = vbWhite
         Else
            varControl.BackColor = vbGreen
            varControl.ForeColor = vbBlack
        End If
    End If
Next