如何使用 vb-script 在特定范围的 Excel 单元格中添加下拉列表



我想将下拉列表添加到特定范围的单元格(例如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

最新更新