返回列表 上一主題 發帖

vba 下拉清單內容的範圍 隨時會變更 如何改寫自動抓到全部

vba 下拉清單內容的範圍 隨時會變更 如何改寫自動抓到全部

其中  下拉清單內容的範圍
是隨時會變更 如一下a1:a9 下 a1-a20
如何改寫自動抓到全部


Sub 制訂清單的內容()
    '下拉清單是屬Shape物件
    With Sheets("SHEET1").Shapes(1)  '如下拉清單是Shapes的第一個Item
        '.ControlFormat.ListFillRange = "SHEET1!A1:A9"  '下拉清單內容的範圍
        .ControlFormat.ListFillRange = "TEST"      '工作表範圍的定義名稱 也可以
    End With
End Sub
max

回復 1# user999
  1. Sub 制訂清單的內容()
  2.     '下拉清單是屬Shape物件
  3.     With Sheets("SHEET1")  '如下拉清單是Shapes的第一個Item
  4.          Ad = .Range(.[A1], .[A1].End(xlDown)).Address
  5.         .Shapes(1).ControlFormat.ListFillRange = Ad      '工作表範圍的定義名稱 也可以
  6.     End With
  7. End Sub
複製代碼

TOP

回復 2# GBKEE


    受益良多感謝您的幫助
max

TOP

回復 3# user999

表單控制項的下拉選單不需要用到程式碼控制
利用動態範圍定義即可
play.gif
學海無涯_不恥下問

TOP

剛好在查這各問題有想過動態範圍定義
沒想到真的可以這樣做
字典兩各字 還真難理解

TOP

        靜思自在 : 時時好心就是時時好日。
返回列表 上一主題