返回列表 上一主題 發帖

[發問] 下拉式選單無法新增新的欄位

[發問] 下拉式選單無法新增新的欄位

價目表.rar (25.31 KB)

以上是某位老師幫我新增的下拉式選單
我想在sheet1新增第21列
我看了一下程式碼,修改下方的
.Add Type:=xlValidateList, Formula1:="=工作表1!$A$3:$A$20"
修改成
.Add Type:=xlValidateList, Formula1:="=工作表1!$A$3:$A$21"

但是sheet2的下拉式選單卻沒新增第21列的項目名稱

回復 1# av8d


    修改後有執行  Sub CellValidation() 嗎?沒執行當然不會有變化

TOP

回復 2# lpk187


執行後出現"陣列索引超出範圍 (錯誤 9)"

TOP

本帖最後由 lpk187 於 2016-10-11 14:06 編輯

回復 3# av8d


   那就把它改成
Sub CellValidation()      '  stillfish00 提供
ro = Sheets("Sheet2").[A65535].End(xlUp).Row
    With Sheets("Sheet2").[A2:A25].Validation
        .Delete
        .Add Type:=xlValidateList, Formula1:="=Sheet1!$A$3:$A$" & ro
    End With
End Sub
然後 把下面這段貼到最後面,這樣當你Activate工作表2時,就會自動幫你更改
Private Sub Worksheet_Activate()
CellValidation
End Sub

TOP

回復 4# lpk187

剛剛測試了一下前輩寫的程式,可以用,萬分感謝

發現下方會多出許多空白
如果沒有
Private Sub Worksheet_Activate()
CellValidation
End Sub
他還是會正常執行

TOP

回復 5# av8d


   Sub CellValidation()      '  stillfish00 提供
'ro = Sheets("Sheet2").[A65535].End(xlUp).Row

ro = Sheets("Sheet1").[A65535].End(xlUp).Row '選單內容
    With Sheets("Sheet2").[A2:A25].Validation
        .Delete
        .Add Type:=xlValidateList, Formula1:="=Sheet1!$A$3:$A$" & ro
    End With
End Sub
然後 把下面這段貼到最後面,這樣當你Activate工作表2時,就會自動幫你更改
Private Sub Worksheet_Activate()
CellValidation
End Sub

TOP

回復 6# starry1314


    可以完美使用了,謝謝老師,萬分感謝,受益良多。

TOP

        靜思自在 : 世上有兩件事不能等:一、孝順 二、行善。
返回列表 上一主題