我正在使用宏在我的作業簿中創建一個臨時作業表,用資料填充該作業表上的一堆單元格,將該作業表匯出到新作業簿并關閉新作業簿。
這一切正常。我想要做的是將下拉串列添加到臨時作業表(以及新作業簿),其中包含添加到所述作業表的單元格值串列。所以我用谷歌搜索了如何做到這一點并遇到了這個代碼:
Sub main()
'replace "J2" with the cell you want to insert the drop down list
With Range("J2").Validation
.Delete
'replace "=A1:A6" with the range the data is in.
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:= xlBetween, Formula1:="=Sheet1!A1:A6"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
我將其合并到我的專案中,進行了必要的參考更改并進行了嘗試,但是當我打開新作業簿時,下拉選單不存在。關于如何讓它發揮作用的任何建議?
uj5u.com熱心網友回復:
Range("J2").Validation 運行代碼時參考活動作業表 - 您應該使用顯式參考,例如 wsTemp.Range("J2") 其中 wsTemp 是您之前添加的作業表。
此外:您還必須將 Sheet1 復制到新作業簿 - 因為您從那里獲取驗證串列值。在復制臨時作業表之前復制此作業表 - 為了安全起見。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/339779.html
上一篇:使用一組規則的多列方差
