我试图找出在A列中具有单元格值的行与同一工作表中另一列中的单元格值匹配。
我遇到错误
下标超出范围
也不知道为什么会这样。
代码如下:
Sub test()
Dim wb As Workbook
Dim ws As Worksheet
Dim FoundCell As Range
Set wb = ActiveWorkbook
Set ws = ActiveSheet
Dim colA As Variant, rowArr() As Variant, ub As Long, Counter As Long, j As Long, i As Long, Num As Variant
colA = ws.UsedRange.Columns("A").Value2
ub = UBound(colA)
j = 1
For Counter = 1 To ub
Num = ws.Cells(Counter, 1).Value
If Not IsError(Application.Match(Num, ws.Columns(6), 0)) Then
rowArr(j) = Counter
j = j + 1
End If
Next Counter
ReDim Preserve rowArr(1 To j - 1)
For i = 1 To j
With ws.Range("A" & rowArr(i) & ":B" & rowArr(i))
.Font.Size = 12
.Font.Shadow = True
End With
Next
End Sub
错误在行rowArr(j) = Counter
中发生。有人知道出什么问题吗?
谢谢!
答案 0 :(得分:1)
在填充值之前,您需要重新设置数组的值:
j = 1
For Counter = 1 To ub
Num = ws.Cells(Counter, 1).Value
If Not IsError(Application.Match(Num, ws.Columns(6), 0)) Then
ReDim Preserve rowArr(1 To j)
rowArr(j) = Counter
j = j + 1
End If
Next Counter