2014-05-02 88 views
-2

當前,我試圖讓用戶單擊列表框(listBusFun)中的項目並添加到文本框(TextBox2)。將選定的列表框項目添加到文本框,但不重置VBA Excel中的文本框

我需要文本框不要重新設置,因爲新的選擇被輸入。

他們可能只從列表框中選擇一個項目,或者他們可能一次選擇多個項目 - 但他們都需要添加到文本框中。

如果更容易,我也可以在按鈕後面編寫代碼。

我不太確定如何做到這一點,但如果你能通過註釋掉代碼來幫助我,所以我可以理解,我將不勝感激。

試圖寫這樣的:

Private Sub btnAddBusinessFunction_Click() 
TextBox2.Text = listBusFun.Text 
End Sub 
+3

你爲什麼不至少**嘗試**首先。這不是一個論壇,您可以請求他人免費開展您的工作,這是一個可以幫助其他人解決特定問題的地方。整個「請告訴我該怎麼做,以及它是如何工作的,因爲我不會爲使用搜索引擎而煩惱......」是令人厭煩的。 –

+0

好的。很顯然,我是新手,你不必對此粗魯無禮。感謝您的建議。我所擁有的是: 私人小組btnAddBusinessFunction_Click() TextBox2.Text = listBusFun.Text 結束小組 問題是,它只是增加一次一個的文本框,並清除了其他人。 此外,整個「不使用搜索引擎」的東西是荒謬的。我還沒有找到任何VBA特定答案,而C#&.Net也沒有幫助。此外,我要求將它註釋掉,因爲我爲其他語言找到的代碼沒有評論,所以我無法理解它來嘗試適應它。意見=有幫助 – kmw

+0

代碼不會在評論中呈現,請修改您的原始問題。另外,由於您是新手,請查看[如何提出問題](http://stackoverflow.com/questions/how-to-ask)。 –

回答

1

最容易這個附加到一個按鈕。您需要遍歷列表框中的項目,檢查每個項目是否被選中,並且如果它被選中,則將其附加/連接到另一個字符串。

我還沒有發現任何VBA具體答案

因爲你沒有提出正確的問題。這不是關於列表框和文本框或任何其他內容的問題,它是簡單的字符串連接,只需要迭代項目列表並將其附加到字符串(如果選擇項目),這只是稍微複雜一點。

你懂你自己的代碼嗎?每次按下按鈕時,它只是在你的文本覆蓋值:

Private Sub btnAddBusinessFunction_Click() 
    TextBox2.Text = listBusFun.Text 
End Sub 

現在,我描述的過程中,也使更多一點意義嗎?

Private Sub btnAddBusinessFunction_Click() 
    Dim str As String 
    Dim i As Long 

    'iterate the listbox items and concatente a string 
    ' which we will append to the textbox's existing text 
    For i = 0 To ListBusFun.ListCount - 1 

     If ListBusFun.Selected(i) Then 
      If str <> vbNullString Then str = str & ", " 
      str = str & ListBusFun.List(i) 
     End If 

    Next 

    'Append this to the existing text in the textbox 
    TextBox2.Text = TextBox2.Text & str 

End Sub 
+0

我擁有的代碼是,取出選定的列表項目並用選定的項目替換文本框。我確信在一小時後我沒有得到任何有用的結果時,我並沒有使用google搜索。我明白這不是價值的傳遞,而是價值的傳遞。我也沒有意識到我不得不聲明爲字符串來添加每個新項目,因爲我不必將不正確的代碼聲明爲字符串。謝謝。 – kmw

+0

我明白了。你學習的困難在於你甚至不知道要問什麼問題。這可以從你自己的入學證明中得到證實 - 從根本上說,你甚至不知道自己在做什麼。我不想粗魯,但是你需要從基礎知識開始,一本書,一個教程或者一堂課對於幫助你學習這個或者其他任何其他的編程模塊的基本概念是有益的。語言(*每種語言都以某種方式處理字符串) –

相關問題