如果您認爲這是一個愚蠢的問題,我很抱歉提出寫請求幫助。Excel VBA檢查值是否存在於各種組合框中,然後添加相應的文本框值
我有6個組合框和6個文本框,我可以輸入值的用戶窗體。
Combobox1 Textbox1 Combobox2 Textbox2 Combobox3 Textbox3 Combobox4 Textbox4 Combobox5 Textbox5 Combobox6 Textbox6
這個問題,需要組合/排列的知識。
首先我在其中一個組合框中輸入一個代碼,然後在它旁邊的文本框中輸入一個總共CY。然後我點擊一個命令按鈕給我一個報告。我試圖實現的是寫一個代碼,可以看看每個6組合框,看看代碼「131010」是否存在其中的一些,如果是的話,然後添加textbox1 ...同時排除textbox2(如果代碼不在combobox2中)。
所以如果只有combobox1,3,5,6有這樣的代碼,我只需要添加textbox1,3,5,6,同時排除textbox4。
到目前爲止,我有以下代碼:
If ComboBox1.Value = "131010" Or ComboBox3.Value = "131010" Or ComboBox5.Value = "131010" Or ComboBox7.Value = "131010" Or ComboBox9.Value = "131010" Or ComboBox11.Value = "131010" Then
TextBox59.Value = Val(TextBox6) + Val(TextBox11) + Val(TextBox16) + Val(TextBox21) + Val(TextBox26) + Val(TextBox31)
TextBox52.Value = ComboBox1.Value
Else
或我發現這個代碼:
For i = 1 To 6
If IsNull(Me.Controls("combobox" & i)) = False Then
if combobox & i="131010" then
textbox59=val(textbox6)+val(textbox & i+5)
End If
Next i
的VBA代碼是將所有的文本框,不承認當有不同成本代碼在一個組合框中。我可以看到我做錯了什麼,但我不知道如何解決它。有人可以幫助我弄清楚如何解決它?或者可能提出另一種選擇?也許我需要通過組合框循環...我不知道如何做到這一點。 請不要對此問題給予否定。我真的研究過這個問題,不能拿出一些東西。
謝謝大家提前。
我很抱歉,但我真的不知道是什麼這些代碼做。它究竟如何只添加某些文本框? – Dora
@Dora - 我已經更新了答案。現在它更有意義嗎? – Floris
是的,它的工作(我是VBA新手,所以如果我不明白你的代碼,我很抱歉,我明白我必須重新命名控件,並認爲是的,我可以從這裏開始)。謝謝你的幫助。 – Dora