我想将下拉列表添加到特定范围的单元格(例如D2至D100)。 下拉列表中有5个项目:添加,删除,验证,修改,无操作。
我已经尝试使用Stack Overflow中可用的代码,但是我并没有完全成功。下面的代码使用Range.Validate语法。
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWB1 =objExcel.Workbooks.Open("C:\Kaushik\Desktop\Test.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中保留该列表,并且在删除它们时,下拉值也变为空白。 请同样帮我。
答案 0 :(得分:0)
我试图满足您的要求。请在代码下方找到它
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:\Users\ECE-Kishore27\Desktop\Output.xlsx")
objWorkbook2.Close
objExcel.Quit
set objExcel=nothing