1
我有一個包含兩列ActiveX組合框的工作表。我希望能夠單獨更新列,但一直沒有找到一個乾淨的方式來做到這一點。更改一系列ActiveX組合框的屬性
這是我現在使用什麼:
Sub UpdateNames()
Dim TotalCount As Integer
Dim VariableText As String
TotalCount = Worksheets("Variables").Range("C1")
VariableText = "Variables!$B$1:$B$" & TotalCount
ActiveSheet.Shapes("ComboBox1").OLEFormat.Object.ListFillRange = VariableText
ActiveSheet.Shapes("ComboBox2").OLEFormat.Object.ListFillRange = VariableText
ActiveSheet.Shapes("ComboBox3").OLEFormat.Object.ListFillRange = VariableText
ActiveSheet.Shapes("ComboBox4").OLEFormat.Object.ListFillRange = VariableText
等
C1只包含一個數字。這種方法可行,但真的很糟糕。我想要的是一行代碼,而不是每個組合框的一堆行。例如:
ActiveSheet.Shapes("ComboBoxX").OLEFormat.Object.ListFillRange = VariableText
這必須是超級簡單,我覺得不得不問。我讀過一個數組可以工作,但我似乎無法弄清楚如何讓它工作。我也希望能夠在名爲「名冊」的另一張紙上使用這個宏。這個代碼能工作嗎?
Roster.Shapes("ComboBox1").OLEFormat.Object.ListFillRange = VariableText
快速的問題。這會改變ActiveSheet上的每個組合框嗎?我將如何阻止它在一個特定的數字?我有兩列組合框,我只想更新其中的一個。 – user3494277
@ user3494277請參閱更新 –
謝謝,這工作! – user3494277