添加下拉列表到使用VBA动态创建的工作簿



我使用宏在工作簿中创建临时工作表,在该工作表上填充一堆单元格,将该工作表导出到新工作簿并关闭新工作簿。

这一切都很好。我要做的是将下拉列表添加到临时工作表(因此,新工作簿),其中包含添加到所述工作表的单元格值列表。于是我在谷歌上搜索如何做到这一点,然后看到了这段代码:

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 

我将其合并到我的项目中,进行了必要的参考更改,并进行了尝试,但是当我打开新的工作簿时,下拉菜单不在那里。有什么建议,如何得到这个工作?

Range("J2").Validation在运行代码时引用活动工作表-您应该使用显式引用,例如wsTemp. range ("J2"),其中wsTemp是您之前添加的工作表。

此外:当您从那里获取验证列表值时,您必须将Sheet1也复制到新工作簿。为了安全起见,在复制临时表单之前先复制此表单。

相关内容

  • 没有找到相关文章

最新更新