標題:
[發問]
下拉式選單資料來源用變數
[打印本頁]
作者:
li_hsien
時間:
2015-4-20 18:43
標題:
下拉式選單資料來源用變數
小弟想設計個下拉式選單
先用錄製巨集方式了解操作方式再做微調
但碰到了使用變數替換的問題
原作業環境為Excel 2007
操作下單選單使用了下方語法
Formula1:="='Substance'!$A2:$A$10"
但發現作業環境如果是Excel 2003
會發生錯誤,選單資料好像不能直接用別張Sheet
後來搜尋到可用INDIRECT的方式
錄製巨集得到下方語法
Formula1:="=INDIRECT(""'Substance'!$A2:$A10"")"
我想將A2:A10中的10改換成變數來操作
e.g. Formula1:="=INDIRECT(""'Substance'!$A2:$A"" & final_substance & ")""
此列舉語法錯誤
但不知怎麼修改語法
煩請各位協助解惑
謝謝!!!
作者:
lpk187
時間:
2015-4-20 21:50
回復
1#
li_hsien
不能類似像下列表示法嗎?
a = Sheets("Substance").[A2].End(xlDown).Row
ComboBox1.RowSource = "Substance!A2:A" & a
下面這句
Formula1:="=INDIRECT(""'Substance'!$A2:$A"" & final_substance & ")""
雙引號的用法不對,雙引號在用都是雙雙對對的,另在巨集中有單引號( ' )出現"皆視為
註解
",所以Substance這個工作表可以把單引號拿掉直接用 Substance!
不過我還是幫你修正上列語句
Formula1:="=INDIRECT(""Substance!$A2:$A" & final_substance & """)"
作者:
li_hsien
時間:
2015-4-21 14:46
本帖最後由 li_hsien 於 2015-4-21 14:54 編輯
回復
2#
lpk187
謝謝您的協助!!!
語法可以了
但是他的雙引號對應關係我看不到懂
[attach]20748[/attach]
我用顏色將雙引號區分出來,不知是不是這樣兩兩相對
另外我這個應該也不是您說的下拉選單
我是在儲存格中用資料驗證的方式
操作大致如下
With Worksheets("GP規格比對表").Range("E4:E" & Range("C65536").End(xlUp).Row).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=INDIRECT(""Temp_Substance!$A2:$A" & final_substance & """)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = "請以下拉選單方式選取"
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)