VBA数据validation首选

我有一个从A2到A200的date列表

我有在单元格B1validation列表引用A2:A200,它工作正常。

但是,当我想从列表中select一个date,它总是给A2从第一个值…

在VBA中有没有办法将它的值分配给A100?

没有VBA:

C2中input:

=OFFSET($A$2,199-ROWS($1:1),0) 

并抄下来。 然后使用C2:C200作为validation列表。

用VBA

试试这个macros:

 Sub InternalString() Dim s As String s = Range("A200").Value For i = 199 To 2 Step -1 s = s & "," & Cells(i, "A").Value Next i Range("B1").Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:=s .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With End Sub