【发布时间】:2013-01-19 11:32:08
【问题描述】:
我一直在尝试编写一小段代码来验证以确认日期是否包含在数组中。当lists(i) 显示subscript out of range 时,我已经能够滚动代码直到到达If lists(i) = TodaysDate Then 行。我已经在 Internet 上进行了搜索,但无法解决此问题。
我的宏如下:
Sub size_an_array()
Dim i As Integer
Dim Range_of_Dates As Integer
Dim TodaysDate As Variant, finish As String
TodaysDate = Range("Sheet11!c2")
ThisWorkbook.Worksheets("Sheet11").Activate
lists = Range("Processed_Dates")
Range_of_Dates = UBound(lists, 1) - LBound(lists, 1) + 1
For c = 1 To UBound(lists, 1) ' First array dimension is rows.
For R = 1 To UBound(lists, 2) ' Second array dimension is columns.
Debug.Print lists(c, R)
Next R
Next c
x = Range_of_Dates 'UBound(lists, 1)
ReDim lists(x, 1)
i = 1
Do Until i = x
If lists(i) = TodaysDate Then
Exit Do
End If
Loop
MsgBox "The date has not been found"
End Sub
我对@987654325@ 比较陌生,我一直在尝试使用命名范围来拉入数组,但我完全无法解决这个问题。
任何帮助将不胜感激。
【问题讨论】:
-
如果我错了,请纠正我,但你必须比较值,所以在两边加上“.Value”。变量 x 也没有定义,所以错误必须更早出现
标签: vba excel for-loop excel-2010