我想将下拉列表添加到特定范围的单元格(例如D2到D100(。下拉列表中有5项:添加,删除,验证,修改,无操作。
我已经尝试使用堆栈溢出中可用的代码,但我还没有完全成功。下面的代码使用 Range.Validate 语法。
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWB1 =objExcel.Workbooks.Open("C:KaushikDesktopTest.xlsx")
Set objWS1 = objWB1.Worksheets("Test")
objWS1.Cells(2,26).Value="Add"
objWS1.Cells(3,26).Value="Remove"
objWS1.Cells(4,26).Value="Validate"
objWS1.Cells(5,26).Value="Modify"
objWS1.Cells(6,26).Value="No Action"
With objWS1.Range("D2:D" & objWS1.UsedRange.Rows.Count).Validation
.Add 3,1,1, "=$Z$2:$Z$6"
.IgnoreBlank=True
.InCellDropdown=True
.InputTitle=""
.ErrorTitle=""
.InputMessage=""
.ErrorMessage=""
.ShowInput=True
.ShowError=True
end With
我使用的上述代码需要我在excel的特定单元格中添加列表,然后使用这些单元格添加到定义范围内的下拉列表中。但是我不想将该列表保留在我的 excel 中,当我删除它们时,下拉值也变为空白。请帮我同样的忙。
我尝试了您的要求。请在下面的代码中找到它
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook1= objExcel.Workbooks.Add()
For i = 1 To 100
With objWorkbook1.Sheets(1).Range("D" & i).Validation
.Add 3, 1, 1, "Add,Remove,Validate,Modify,No Action"'''''Here Your Drop Down List'''''
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "Overwrite"
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
end With
Next
objWorkbook2.SaveAs("C:UsersECE-Kishore27DesktopOutput.xlsx")
objWorkbook2.Close
objExcel.Quit
set objExcel=nothing