簡體   English   中英

如何在單擊按鈕時將項目添加到組合框?

[英]how to add item to a combobox on button click?

我想將項目添加到從用戶窗體中位於文本框中的excel工作表中找到的組合框中。單擊按鈕時。我看到添加到組合框中的值,但是當我關閉並重新打開工作簿時它將變為空。可以是任何一個幫我處理這個嗎?

謝謝您的快速回復

感謝您的反饋和指正。讓我更清楚地表達我的關注

  1. 創建一個工作簿並另存為xlsm。
  2. 在第一個工作表上,如下定義用戶名:名稱: dn_cmb_items范圍: =""
  3. 使用開發人員功能區將Excel(非ActiveX)組合框添加到Worksheet1上,並將其按范圍列出的列表設置為dn_cmb_items
  4. 打開VBA編輯器,並將用戶窗體添加到工作簿,將其命名為frm_add_cmb_item並將ShowModal設置為False
  5. 將一個文本框拖放到該表單並將其命名為tb_item_text
  6. 在表單上放置一個按鈕,將其命名為cmb_add ,然后從其上下文菜單中選擇View code 這將創建click事件處理程序。
  7. 實現處理程序,如下所示:
Private Sub cmb_add_Click()
      Dim v_r As Range, v_n As Name
      Set v_n = Names("dn_cmb_items")
      If v_n.Value = "=""""" Then
        v_n.Value = "=" & Worksheets(1).Name & "!$A$1:$A$1"
        v_n.RefersToRange.Value = tb_item_text.Text
      Else
        Set v_r = v_n.RefersToRange
        Set v_r = v_r.Cells(v_r.Rows.Count + 1, 1)
        v_r.Value = tb_item_text.Text
        v_n.Value = "=" & Worksheets(1).Name & "!$A$1:" & v_r.Address(True, True)
      End If
    End Sub
  1. 在工作表上放一個按鈕,然后在工作簿中創建/設置宏。 使用代碼frm_add_cmb_item.Show實現創建的宏。
  2. 在VBA編輯器的“ Debug菜單中,選擇“ Compile 然后保存VBAProject和工作簿。 這就是編碼的全部內容。
  3. 切換到工作表,顯示表單。
  4. 現在,當您在文本框中輸入一些內容,然后單擊cmb_add按鈕時,新項目將添加到末尾的A列中,從而更改分配給工作表上組合框的dn_cmb_items的值。 請參閱隨附的屏幕短褲:

初始狀態: 初始狀態

添加了1 加1

2添加: 加2

PS我已經准備好所有代碼的工作簿。 我應該在哪里上傳?

具體說明您的問題,並始終發布相關代碼,以便為他人輕松解決。

如果要在執行用戶窗體時查看數據,只需將所需的數據寫入userform_activate或Initialize。 在執行之前,它將獲取值並顯示在組合框中。

您從工作表中獲取的輸入只需將這些值寫入另一個工作表中,這樣無論何時打開工作簿,這些值都不會被擦除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM