vba中循环的数组中的下标超出范围错误
从参考文件复制数据并使副本唯一,然后将这些唯一文本放置在新工作表中的列标题循环中。有人知道我为什么在“With wsDB”行中出现“下标超出范围”的错误吗vba中循环的数组中的下标超出范围错误,vba,excel,range,unique,Vba,Excel,Range,Unique,从参考文件复制数据并使副本唯一,然后将这些唯一文本放置在新工作表中的列标题循环中。有人知道我为什么在“With wsDB”行中出现“下标超出范围”的错误吗 加载数组中的值时,如下所示: arrValues=.Range(“I2”),.Range(“I”和.Rows.Count).End(xlUp)) 它变得多维。(行和列) 在这一行中,您只提供一个维度(行)作为j,而缺少另一个维度(列)。因此出现了错误 .Range(.Cells(i,j*4+2),.Cells(i,j*4+4)).Value=
加载数组中的值时,如下所示:
arrValues=.Range(“I2”),.Range(“I”和.Rows.Count).End(xlUp))
它变得多维。(行和列)
在这一行中,您只提供一个维度(行)作为j
,而缺少另一个维度(列)。因此出现了错误
.Range(.Cells(i,j*4+2),.Cells(i,j*4+4)).Value=arrValues(j)
在数组中加载值时,如下所示:
arrValues=.Range(“I2”),.Range(“I”和.Rows.Count).End(xlUp))
它变得多维。(行和列)
在这一行中,您只提供一个维度(行)作为j
,而缺少另一个维度(列)。因此出现了错误
.Range(.Cells(i,j*4+2),.Cells(i,j*4+4)).Value=arrValues(j)
好的,但是当我尝试添加列时,它会给我其他错误。但是当我尝试添加列时,它会给我其他错误
Sub uniqueyes()
Dim wsRef As Worksheet
Dim wsDB As Worksheet
Set wsRef = Worksheets("reference1")
Set wsDB = Worksheets("Sheet1")
With wsRef
.Range("F1:F60").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=.Range("I1"), unique:=True
Dim arrValues As Variant
arrValues = .Range("I2", .Range("I" & .Rows.Count).End(xlUp))
End With
For i = 1 To ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
If Cells(i, 4) = "Title" Then
For j = 1 To (UBound(arrValues)) Step 1
With wsDB
.Range(.Cells(i, j * 4 + 2), .Cells(i, j * 4 + 4)).Value = arrValues(j)
End With
Next j
End If
Next i
End Sub