2016-07-13 7 views
0

Eine Kopie von Daten aus einer Referenzdatei erstellen und die Kopie eindeutig machen und diese eindeutigen Texte dann in eine Schleife von Spaltenüberschriften in einem neuen Blatt einfügen. Wer weiß, warum ich den Fehler "Index außerhalb des Bereichs" innerhalb der Zeile "Mit WSDB" bekommen?Index außerhalb des Bereichs Fehler innerhalb des Arrays für Schleife in VBA

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 

Antwort

4

Wenn Sie die Werte im Array laden gefällt das: arrValues = .Range("I2", .Range("I" & .Rows.Count).End(xlUp)) es mehrdimensionale wird. (Zeilen und Spalten)

In dieser Zeile wird nur eine Dimension (Zeile) wie j angegeben und die andere Dimension (Spalte) fehlt. Daher der Fehler.

.Range(.Cells(i, j * 4 + 2), .Cells(i, j * 4 + 4)).Value = arrValues(j)

+0

in Ordnung, aber wenn ich versuche, um eine Spalte hinzuzufügen, es gibt mir Fehler – beks123

+0

nur ein Scherz habe ich es Ihnen danken !!! – beks123

+0

Prost !!!!!!!!!!!! – cyboashu