2015-04-25 2 views
0

Я искал какое-то время, чтобы найти ответ, я вижу некоторые подобные коды и пытаюсь настроить мой код на работу. В принципе, мне нужны все текстовые поля на моем 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 
+3

Это звучит, как вы делаете некоторые «кодирования для веб» здесь, но вы забыли включить какой язык вы пишете в, а также кусок кода, который нужно помочь с предложениями/улучшения. Короче говоря, вам нужно улучшить свой вопрос/проблему, чтобы получить какую-либо помощь. – mattias

+1

Не могли бы вы дать больше информации о том, с чем работаете? Не беспокойтесь о том, как - сосредоточьтесь на вводимых вами вводах и выводах, и, если возможно, попробуйте простейший пример кода, который демонстрирует проблему. – Paxic

+0

Sub ChangeClr() Dim tbMyTextBox Как TextBox Dim ufMyUserForm Как UserForm Для каждого tbMyTextBox В ufMyUserForm If tbAction1 = "Танк В Spec" Тогда tbMyTextBox.BackColor = vbGreen tbMyTextBox.ForeColor = vbBlack Else tbTextBox.BackColor = vbGreen tbMyTextBox.ForeColor = vbBlack End If Следующий tbMyTextBox End Sub –

ответ

0

Теперь, когда я знаю, что вы используете VBScript в Excel, этот код будет цикл до конца и изменить все текстовые поля (в том числе действия одного) на основе формулировки в текстовом поле действия. Вы можете настроить ваши конкретные спецификации.

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 
+0

, что было бы очень полезно. Я пытаюсь вставить свой код в комментарии окне, но я предполагаю, что я делаю неправильно, –

+0

Sub ChangeClr() Dim tbMyTextBox Как TextBox Dim ufMyUserForm Как UserForm Для каждого tbMyTextBox В ufMyUserForm Если tbAction1 = «Tank В Spec»Тогда tbMyTextBox.BackColor = vbGreen tbMyTextBox.ForeColor = vbBlack Else tbTextBox.BackColor = vbGreen tbMyTextBox.ForeColor = vbBlack End If Следующая tbMyTextBox End Sub –

+0

Ugh so Извините, каждый раз, когда я пытаюсь вставить свою подпрограмму, он видит мои строки и пробелы и jsut crams все это вместе –