我有一个为范围内的单元格设置验证列表的程序。我终于让它工作了,将正确的范围设置为验证列表。 但是当我检查验证设置时,范围是不同的。我无法理解发生了什么以及为什么会发生这种情况。
下面是消息框,告诉我验证列表的范围:
但下面是已设置的验证列表范围:
我只是不明白为什么这个范围改为A2:A7而不是a1:a6。
这是该过程的代码:
Sub validatie()
Dim ws As Worksheet, ws1 As Worksheet
Set ws = ThisWorkbook.Worksheets("Hoofdbestand")
Set ws1 = ThisWorkbook.Worksheets("Verwijzingen")
aantalrijen2 = ws1.Range("A1", ws1.Range("A1").End(xlDown)).Cells.Count
With ws
aantalrijen = ws.Range("A1", ws.Range("A1").End(xlDown)).Cells.Count
With .Range("B2:B" & aantalrijen).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="=" & ws1.Name & "!" & "A1:A" & aantalrijen2
MsgBox "=" & ws1.Name & "!" & "A1:A" & aantalrijen2
End With
End With
End Sub
使用
$
: 锁定行引用
Formula1:="=" & ws1.Name & "!" & "A$1:A$" & aantalrijen2