我是VBA的新手,我正尝试创建一个程序来循环遍历具有特定单元格区域的列,并为这些单元格创建数据验证。我选择了“文本长度”选项 - 我希望最小值为1,最大值为单元格引用(但是,单元格引用也应随相应列更改)。这是我迄今为止的 - 从使用宏录制和编辑代码一点。如何循环遍历具有特定单元格范围的列并在VBA中设置数据验证?
我设置了一个范围变量(应该看起来像第一个循环的R16C2:R500C2),以便它在循环列中选择给定的范围。 “Formula2”应该随给定列而改变,但应保留在第14行。
任何帮助表示赞赏!
Sub Validation()
'
' Validation Macro
For i = 2 To 84
Dim ranges As String
ranges = "R16C" + Str(i) + ":R500C" + Str(i)
With ThisWorkbook.Worksheets(1)
Columns(i).Select
Application.Goto Reference:=Range(ranges).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateTextLength, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="1", Formula2:="=$B$14"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End With
Next i
End Sub
非常感谢你,这工作完美! – hijay
不客气。那么请将回答标记为已接受。谢谢! – user3598756