返回列表 上一主題 發帖

[發問] 20個相同功能ComboBox如何可以省工撰寫?

[發問] 20個相同功能ComboBox如何可以省工撰寫?

本帖最後由 PKKO 於 2014-12-1 04:38 編輯

麻煩各位大大解題了!

以下程式碼為固定的,目的在於"姓"輸入後可自動帶出名子
問題一 : 若有20個相同功能之程式碼,該如何撰寫?可請大大們提供您的撰寫方式嗎?

問題二 : 此程式碼在ComboBox輸入完"我"之後,都會自動帶出後面名稱,例如"我愛你"
但是因為帶出"我愛你",因此下拉式選單變成沒得選,必須要在輸入完"我"之後,將後面預設帶出的名稱刪除
留下"我"一個字,下拉式選單才能出現資料庫開頭為"我"的所有名稱,例如出現"我愛你","我恨你","我好高"之類的
要如何避免這種窘境,輸入完任何字之後,都不會自動帶出,而可以由下拉式選單選取呢?
  1. Private Sub ComboBox1_Change()
  2.     Dim Arr
  3.     '找出相同姓名的延續
  4.     For i = 1 To Range("A65536").End(xlUp).Row
  5.         V = UserForm1.ComboBox1
  6.         L = Len(UserForm1.ComboBox1)
  7.         If Left(Range("A" & i), L) = Left(UserForm1.ComboBox1, L) Then
  8.             Name1 = Name1 & "," & Range("A" & i)
  9.         End If
  10.     Next
  11.     Name1 = Mid(Name1, 2, 10000) '去除","號
  12.     Arr = Split(Name1, ",")
  13.     UserForm1.ComboBox1.List = Arr
  14. End Sub
複製代碼
PKKO

test.rar (17.25 KB)

補檔給各位大大,請在表單的姓名欄位輸入:我

就會變成:我愛你

導致無法下拉選單~選別的名稱

要如何才可以輸入:我

但是不會自動帶出來後面的

而是固定只會出現"我"

然後自己選下拉選單後面的名稱呢?

相對的~若是輸入兩碼也是一樣~不要自動帶入第三碼
PKKO

TOP

回復 2# PKKO

是這樣嗎?
  1. Dim Arr
  2. Private Sub ComboBox17_Change()
  3.     Dim i As Long
  4.     '找出相同姓名的延續
  5.     Name1 = ComboBox17.Value
  6.     For i = 1 To Range("A65536").End(xlUp).Row
  7.         If Range("A" & i) Like ComboBox17 & "*" Then
  8.             Name1 = Name1 & "," & Range("A" & i)
  9.         End If
  10.     Next
  11.     Arr = Split(Name1, ",")
  12.     UserForm1.ComboBox17.List = Arr
  13.     UserForm1.ComboBox17 = Arr(0)
  14. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 2# PKKO
Combobox 有個 AutoWordSelect 屬性,改為 False 就不會自動帶出
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 3# GBKEE


    超版您的方法我試過了,我自己也有這樣做過,但實際上輸入完第一個字之後,還是會自動帶出後面的呢!
PKKO

TOP

回復 4# stillfish00


    stillfish00大大您好,您的建議很好,但小弟使用後跟原本一樣,還是會自動帶出後面的呢!
PKKO

TOP

至於問題一 : 若有20個相同功能之程式碼,該如何撰寫?可請大大們提供您的撰寫方式嗎?
小弟的作法是用出20個
Private Sub ComboBox1_Change()
相同程式碼xx
End Sub
然後用取代的方式,將指定選取的部分由ComboBox1取代為ComboBox2
不曉得各位大大有更好的方式嗎?
PKKO

TOP

回復 6# PKKO
呃抱歉,那可能是我誤會那個屬性了,
至於問題一,置頂帖 "本版值得關注的主題將陸續增加" 裡面 22 有
主要是用物件類別來管理共同事件,你可以自己試試看
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 8# stillfish00


    ok
PKKO

TOP

回復 5# PKKO
   
表單的姓名欄位輸入:我
就會變成:我愛你
導致無法下拉選單~選別的名稱
要如何才可以輸入:我
但是不會自動帶出來後面的
請問你要帶出來的是什麼?
至於問題一 : 若有20個相同功能之程式碼,該如何撰寫?

請搜尋 討論區的內文 "物件模組" 看看
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 慈悲沒有敵人,智慧不起煩惱。
返回列表 上一主題