为.validation指定单元格的范围
我想插入一个数据validation列表,从另一个工作表获取数据。 列表将从其中生成的列存储在另一个dynamicvariables中。 我的代码到目前为止是:
pRange = Sheets("Payer Output").Cells(24, 3).Value With Sheets("Payer Output").Range("C23").Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:=Sheets("Payers in Top 4").Cells(3, pRange) .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With
此公式会生成一个列表,然后查找正确的列,但是当前代码仅指定列表应该在单个单元格中查看,因此生成列表时只有一个值。 如何为'formula1:='行指定一系列单元格? 我试过了:
Formula1:=Sheets("Payers in Top 4").Range(Cells(3, pRange), Cells(10,pRange))
但是这不起作用。 感谢您的帮助!
有时候,我只会命名范围,并将命名的范围放在列表中。
Sub AddDtaVal() pRange = Sheets("Payer Output").Range("C24").Value Sheets("Payers in Top 4").Range(Sheets("Payers in Top 4").Cells(3, pRange), Sheets("Payers in Top 4").Cells(10, pRange)).Name = "List" With Sheets("Payer Output").Range("C23").Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=List" .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With End Sub
您需要在string中构build地址公式,即Excel样式: 'Sheet Name'!A1:A10
Dim StrFormula As String Dim pRange As Long pRange = Sheets("Payer Output").Cells(24, 3).Value With Sheets("Payers in Top 4") StrFormula = "'" & .Name & "'!" & .Range(.Cells(3, pRange), .Cells(10, pRange)).Address End With With Sheets("Payer Output").Range("C23").Validation .Delete .Add Type:=xlValidateList, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, _ Formula1:=StrFormula .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With
尝试这个
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="='Payers in Top 4'!" & Worksheets("Payers in Top 4").Cells(3, pRange).Resize(8).Address
- “指定的包是无效的。 主要部分是缺less。“在封闭的XML
- 将variablesexcel数据读取成相同格式的变体
- Excel VBA – 需要删除列B中填充参考错误的单元格值所在的行
- Excel VBA – 插入公式(范围),然后复制>仅粘贴值
- SumIfs公式带有多个“多重标准”
- 你将如何删除Excel中的行,使范围(select,ActiveCell.SpecialCells(xlLastCell))。select不会select现在空的行
- 用python中的for循环添加新的excel表
- userinterfaceonly:= true似乎不允许VBA更改条件格式?
- 将表示各种格式化date的string列转换为date列