2016-02-25 133 views
1

我想阻止文本框,如果用戶從下拉列表中選擇一個特定的值(組合框)。我正在嘗試根據特定組合框中的值更改文本框背景顏色。我已經創建了下面的代碼,並能夠使其工作,但它只適用於我手動運行vba中的宏。你能幫我解決這個問題嗎?由於如何使用if語句更改文本背景顏色?

Private Sub discqty_DropButtonClick() 

lngRed = RGB(255, 0, 0) 
lngBlack = RGB(0, 0, 0) 
lngYellow = RGB(255, 255, 0) 
lngWhite = RGB(255, 255, 255) 


If combobox1.Value = "NON-CONFORMANCE" Then 
    Me.discqty.Value = "" 
    Me.discqty.BackColor = lngBlack 
End If 

If combobox1.Value = "BOM CHANGE" Then 
    Me.discqty.Value = "" 
    Me.discqty.BackColor = lngBlack 
End If 


If combobox1.Value = "WOC" Then 
    Me.discqty.Value = "" 
    Me.discqty.BackColor = lngBlack 
End If 



If combobox1.Value = "LOST PART" Then 
    Me.discqty.BackColor = lngWhite 
End If 

If combobox1.Value = "DAMAGE/DESTROYED" Then 
    Me.discqty.BackColor = lngWhite 
End If 

If combobox1.Value = "QA/QC ISSUE" Then 
    Me.discqty.BackColor = lngWhite 
End If 

呼叫netvalue

末次

回答

0

你需要出顏色變化部分進入combobox1_Change()

雙擊ComboBox,然後粘貼到該Private Sub ComboBox1_Change()子說過來。

Private Sub ComboBox1_Change() 

     If ComboBox1.Value = "NON-CONFORMANCE" Then 
      Me.discqty.Value = "" 
      Me.discqty.BackColor = lngBlack 
     ElseIf ComboBox1.Value = "BOM CHANGE" Then 
      Me.discqty.Value = "" 
      Me.discqty.BackColor = lngBlack 
     ElseIf ComboBox1.Value = "WOC" Then 
      Me.discqty.Value = "" 
      Me.discqty.BackColor = lngBlack 
     ElseIf ComboBox1.Value = "LOST PART" Then 
      Me.discqty.BackColor = lngWhite 
     ElseIf ComboBox1.Value = "DAMAGE/DESTROYED" Then 
      Me.discqty.BackColor = lngWhite 
     ElseIf ComboBox1.Value = "QA/QC ISSUE" Then 
      Me.discqty.BackColor = lngWhite 
     End If 

End Sub 
+0

這很好。感謝您的幫助。 –