→ soyoso: 不知道原po目前是怎麼寫的,就以原文來看也不清楚什麼是每 12/30 19:21
→ soyoso: 次新增一個,就要打開這幾個頁面去新增code 12/30 19:22
→ soyoso: 又什麼是只做一次全體適用的方法?適用在那? 12/30 19:22
→ soyoso: 提供有巨集碼的檔案才會比較清楚要的是什麼 12/30 19:23
@soyoso大大 不好意思,我增加一些資料如下。
Public Sub CLbox_GotFocus()
With ActiveSheet.CLbox
.Clear
.AddItem "A"
.AddItem "B"
End With
End Sub
目前我是這麼使用我的下拉式選單的。
其中A跟B就是我所說的供應商。
我的活頁簿中會有五個頁面會用到這個東西,也就是說會有CLbox1, CLbox2,...,CLbox5
如果今天我又新增加了一個供應商,哪麼我必須要在這個五個頁面的VBA程式碼,都針對
這個下拉式選單去增加.AddItem "C"。這個動作,感覺有點笨。
能不能夠寫一個按鈕什麼的去一次性的增加,而不要一個一個去增加。
※ 編輯: yimean (123.195.98.141), 12/30/2018 19:58:22
→ yimean: @soyoso大大我更新資料了喔。 12/30 19:58
→ soyoso: 寫個迴圈additem,迴圈終止值或最後一個有值的儲存格以 12/30 20:01
→ soyoso: range.end()、range.find或工作表函數counta抓取 12/30 20:02
→ yimean: 好的,感謝,我試試看。 12/30 20:04
→ soyoso: 或是要以worksheet_change為觸發事件,當新增資料後,迴圈 12/30 20:06
→ soyoso: 指定表單或activex控制項內listfillrange範圍字串 12/30 20:08
→ soyoso: 範圍字串取得可用range.address 12/30 20:10
@soyoso大大,感謝指導。
我現在好像就差臨門一腳了。
我現在的程式長這樣
Public Sub CLbox_GotFocus()
With ActiveSheet.CLbox
.Clear
AIR "共用資料", "C"
End With
End Sub
Sub AIR(sheetname As String, columm_index As String)
'AIR stands for add item loop.
'This sub only works within this workbook.
Dim st As Integer
Dim i As Integer
Dim items As String
st =
Application.WorksheetFunction.CountA(Sheets(sheetname).Range(columm_index &
":" & columm_index & ""))
For i = 1 To st
items = Sheets(sheetname).Range(columm_index & i & "").Value
.AddItem items
Next i
End Sub
他說我的additem items是錯誤引用。
我應該怎麼用我這個Sub可以添加項目呢?
還是說,的想法錯誤,應該用Function來做?
煩請撥冗解惑,感恩。
※ 編輯: yimean (123.195.98.141), 12/30/2018 20:46:21
→ yimean: @soyoso大大,我又更新資料了。 12/30 20:46
→ soyoso: 再多傳個CLbox到sub AIR,AIR多設個變數接收 12/30 20:54
→ soyoso: .additem就以AIR所設 變數.additem 12/30 20:55
→ yimean: Cool!!!大感謝。 12/30 21:05
推 waiter337: 注意一個最大的問題 activeX 在不同的excel版本不相容 01/02 06:26
→ waiter337: 也就是如果你要向下或向下相容 這按鈕會失效 01/02 06:26
→ waiter337: 前提必須全部的人都要用2016以上的excel 01/02 06:26
→ waiter337: 或全部都要2007的 01/02 06:28
→ soyoso: 相容上測試,儲存於2016,開啟於2007或2010時,並不一定會 01/02 07:24
推 waiter337: s大 我前一星期才碰上的 我的是2019 64位元寫好 01/02 18:51
→ waiter337: 放到2007 32位元 當下沒問題 使用了兩三天突然 按鈕 01/02 18:51
→ waiter337: 直接消失 但實際上存在 而且無法用visible控制顯示 01/02 18:52
→ waiter337: 就算重新寫上按鈕 還是消失 01/02 18:57
→ waiter337: 而且 另一個按鈕是反過來 不消失 永遠消失不掉 01/02 18:57
→ waiter337: 該頁面 我放上約15個activex的按鈕於工作表上 01/02 18:58
→ soyoso: 這也就是為什麼我要回並不一定會失效,因版本的不同,不能 01/02 19:00
→ waiter337: 而且會出現按鈕大小自動變大變小的問題 01/02 19:00
→ soyoso: 一概而論,但w大你回6點多回就是全部的人都要用某一個版本 01/02 19:00
→ soyoso: 一概而論,但w大你回6點多回就是全部的人都要用某一個版本 01/02 19:01
→ soyoso: 但實際上測試有可能是不一定要用同一版本的 01/02 19:01
→ waiter337: 瞭解 謝謝 01/02 19:02
→ soyoso: 回文您可以舉例再何種情況下是可能會產生出失效,但要說是 01/02 19:03
→ soyoso: 全部都要那個版本才是可行的話,個人覺得那不一定 01/02 19:04