07.03.2019, 15:52
(Dieser Beitrag wurde zuletzt bearbeitet: 07.03.2019, 15:52 von Zerstrer.
Bearbeitungsgrund: Rechtschreibung
)
Hallo miteinander,
das Forum nutze ich nun zum erstenmal, falls ich also was falsch mache, bin ich für Hinweise dankbar.
Hier seht Ihr meinen Code unter VBA den ich mithilfe des Internets erstellt habe. Ich selber bin leider absoluter Anfänger!
Mein Code zieht sich aus einer Tabelle nur die gefüllten Zeilen und gibt diese in einer anderen Tabelle wieder aus. Leider schaffe ich es nicht dies an einer gewünschten Stelle in meiner Tabelle auszugeben.
Aktuell kopiert er also die Zeilen also nur dort rein, wo Sie in der Ausgangstabelle anfangen. (Sind also B1, B10 und B12 gefüllt, so kopiert er in Tabelle 2 diese Werte in B1, B2 und B3)
Ich habe versucht meine Zeile:
insoweit abzuändern, das ich die Range der Zieltabelle vorgebe:
In meinem Beispiel würde ich also gerne die Tabelle ohne Leerzeilen erst ab B24 beginnen lassen.
Leider führt dies zu der Fehlermeldung:
"Laufzeitfehler '1004'" - (ich sehe davon mal ab den gesamten Fehlertext zu kopieren)
Kurz zusammengefasst: Es kann nicht kopiert werden, da der kopierte Bereich und der Bereich des Einfügens unterschiedliche Formen und Größen haben.
Prinzipiell verstehe ich das, allerdings ist meine Tabelle, in die eingefügt wird, leer und auch Formatierungen wie in der Ausgangstabelle lösen das Problem nicht.
Zumal mich verwundert, dass bei meinem Ausgangscode (sprich ohne .Range("B24")) keine Fehlermeldungen kommen.
Ich wäre wirklich sehr sehr sehr dankbar für Hilfe!
Mit freundlichen Grüßen
Tim
das Forum nutze ich nun zum erstenmal, falls ich also was falsch mache, bin ich für Hinweise dankbar.
Code:
Sub Kopie()
Dim Zeile As Long
Dim ZeileMax As Long
Dim n As Long
With Tabelle7
ZeileMax = .UsedRange.Rows.Count
n = 1
For Zeile = 1 To ZeileMax
If .Cells(Zeile, 5).Value <> 0 Then
.Rows(Zeile).Copy Destination:=Worksheets("KEEZ Mehrkind").Rows(n)
n = n + 1
End If
Next Zeile
End With
End Sub
Mein Code zieht sich aus einer Tabelle nur die gefüllten Zeilen und gibt diese in einer anderen Tabelle wieder aus. Leider schaffe ich es nicht dies an einer gewünschten Stelle in meiner Tabelle auszugeben.
Aktuell kopiert er also die Zeilen also nur dort rein, wo Sie in der Ausgangstabelle anfangen. (Sind also B1, B10 und B12 gefüllt, so kopiert er in Tabelle 2 diese Werte in B1, B2 und B3)
Ich habe versucht meine Zeile:
Code:
.Rows(Zeile).Copy Destination:=Worksheets("KEEZ Mehrkind").Rows(n)
insoweit abzuändern, das ich die Range der Zieltabelle vorgebe:
Code:
.Rows(Zeile).Copy Destination:=Worksheets("KEEZ Mehrkind").Range("B24").Rows(n)
In meinem Beispiel würde ich also gerne die Tabelle ohne Leerzeilen erst ab B24 beginnen lassen.
Leider führt dies zu der Fehlermeldung:
"Laufzeitfehler '1004'" - (ich sehe davon mal ab den gesamten Fehlertext zu kopieren)
Kurz zusammengefasst: Es kann nicht kopiert werden, da der kopierte Bereich und der Bereich des Einfügens unterschiedliche Formen und Größen haben.
Prinzipiell verstehe ich das, allerdings ist meine Tabelle, in die eingefügt wird, leer und auch Formatierungen wie in der Ausgangstabelle lösen das Problem nicht.
Zumal mich verwundert, dass bei meinem Ausgangscode (sprich ohne .Range("B24")) keine Fehlermeldungen kommen.
Ich wäre wirklich sehr sehr sehr dankbar für Hilfe!
Mit freundlichen Grüßen
Tim