使用数据验证输入消息,对于命名范围中的每个单元格(" MyRange"),我希望与Table1 [Column1]匹配,并使用Table1 [Column2]中的值进行索引
我需要循环,因为它没有,活动单元保持不变,整个范围具有相同的输入消息。我没有承诺使用公式INDEX MATCH,它只需要执行该功能。
Sub Tester()
Dim mycell As String
mycell = ActiveCell
With Range("MyRange").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertInformation, _
Operator:=xlBetween, Formula1:="=INDIRECT(Test1&Test2)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = Application.WorksheetFunction.Index(Range("Table1[Column2]"), _
Application.WorksheetFunction.Match(mycell, Range("Table1[Column1]"), 0))
.ErrorMessage = ""
.ShowInput = True
.ShowError = False
End With
End Sub
感谢您的帮助!
答案 0 :(得分:0)
围绕您现有的代码包装。基本上,您希望将代码粘贴到读取Debug.Print
的行中。 。 。进行一些非常小的修改。
Sub LoopRange()
Dim rCell As Range
Dim rRng As Range
Set rRng = Sheet1.Range("A1:A6")
For Each rCell In rRng.Cells
Debug.Print rCell.Address, rCell.Value
Next rCell
End Sub
Loop through each cell in a range of cells when given a Range object