habe eine Beispieltabelle beigefügt mit einem VBA Code, den ich nicht zum Laufen bekomme. Habe schon stundenlang überall versucht Lösungen zu finden. - Klappt einfach nicht. Es sollen einfach nur Werte aus der Tabelle1 (ohne Formeln) ab einer bestimmten Stelle in die Tabelle2 übertragen werden. Dort soll die Formatierung nicht verändert werden. Genaueres ist in der Beispieltabelle beschrieben. - Vielleicht habt Ihr ja eine gute Idee dazu. Der Code soll möglichst schlank sein und wenig Speicher benötigen, da es um die 600 Zeilen sind, die in der Originaltabelle zu durchsuchen sind.
Sub aaa() Dim i As Long, j As Long, k As Long Dim varQ As Variant, varZ As Variant varQ = Tabelle1.Range("A1").CurrentRegion.Value ReDim varZ(1 To UBound(varQ, 1), 1 To UBound(varQ, 2)) For i = 1 To UBound(varQ) If varQ(i, 8) <> 0 Then k = k + 1 For j = 1 To UBound(varQ, 2) varZ(k, j) = varQ(i, j) Next j End If Next i Tabelle2.Range("B6").Resize(UBound(varZ, 1), UBound(varZ, 2)).Value = varZ End Sub
Sub TestKopierenEinfügen() Dim wks1 As Worksheet, wks2 As Worksheet, Zeile As Integer, j As Long
Set wks1 = Sheets("Tabelle1") Set wks2 = Sheets("Tabelle2")
Application.ScreenUpdating = False
With wks1 j = 6 For Zeile = 1 To .UsedRange.SpecialCells(xlCellTypeLastCell).Row
If .Cells(Zeile, 8) <> 0 Then .Rows(Zeile).Copy wks2.Cells(j, "A").PasteSpecial Paste:=xlPasteValues j = j + 1 End If Next Zeile End With Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
vielen Dank für Eure Arbeit. Der Code von Uwe funktioniert genau so, wie ich es wollte, beim Code von Lutz funktioniert es auch besser als bei mir zuvor. Ich bekomme jedoch die Werte in Tabelle 2 nicht ab "B6" eingefügt, sondern beginnend ab "A6". Wenn ich jedoch das "A" im Code auf "B" verändere, kommt wieder ein Fehler. Warum ist das so?
weil die ganze Zeile kopiert wird und dann auch wieder in eine ganze Zeile eingefügt werden muss (sonst würde ja am Ende ne Zelle rausfallen). Bei Bedarf könnte man natürlich den Bereich auf eine Anzahl an Spalten eingrenzen.
Wenn dir Uwe's Version taugt, nimmst Du einfach die. Ist auch die schnellere von beiden .