Board logo

標題: [發問] 下拉式選單無法新增新的欄位 [打印本頁]

作者: av8d    時間: 2016-10-11 09:42     標題: 下拉式選單無法新增新的欄位

[attach]25521[/attach]

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

但是sheet2的下拉式選單卻沒新增第21列的項目名稱
作者: lpk187    時間: 2016-10-11 12:51

回復 1# av8d


    修改後有執行  Sub CellValidation() 嗎?沒執行當然不會有變化
作者: av8d    時間: 2016-10-11 13:30

回復 2# lpk187


執行後出現"陣列索引超出範圍 (錯誤 9)"
作者: lpk187    時間: 2016-10-11 13:59

本帖最後由 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
作者: av8d    時間: 2016-10-11 16:17

回復 4# lpk187

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

發現下方會多出許多空白
如果沒有
Private Sub Worksheet_Activate()
CellValidation
End Sub
他還是會正常執行
作者: starry1314    時間: 2016-10-12 20:08

回復 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
作者: av8d    時間: 2016-10-17 00:39

回復 6# starry1314


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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)