Hallo liebe Gemeinde,
ich versuche per VBA in Excel 2010 den Inhalt meiner Zeilen aus meiner "Tabelle1" in eine zweite leere Tabelle "Tabelle2" zu kopieren. Hierbei soll überprüft werden, ob der Zelleninhalt von Parameter A z.B. Zelle B3 identisch zum vorigen Zelleninhalt ist also B2. Sind die Inhalte der beiden Zellen nicht identisch, dann soll die Zeile mit der Zelle B3 in "Tabelle2" in den nächstfreien Eintrag kopiert werden. Wenn die Inhalte der beiden Zellen identisch sind, dann soll die Zeile wo sich die Zelle B3 drin befindet nicht kopiert werden und der nächste Zelleninhalt überprüft werden (also Inhalt von B4 mit Inhalt von B3).
So sehen beispielhaft die beiden Tabellenblätter aus:
Tabelle2:
Tabelle1:
Ich habe mich auch schon selber daran ausprobiert... verzweifele jedoch langsam, da ich schon nur beim Kopieren der Zeile dauernd Laufzeitfehler rausbekomme (Copy Befehl funktioniert nicht) oder Excel hängt sich komplett auf bei der Ausführung meines Codes. Leider finde ich auch nicht den Fehler darin. Ich bin auch noch ein ziemlicher Neuling in VBA und auch das liebe Internet konnte mir jetzt nicht mehr weiterhelfen.
Hier ist der von mir erstellte Code:
Vielleicht gibt es hier jemanden, der da einen besseren Durchblick hat als ich und mir da auf die Sprünge helfen kann.
Ich würde mich sehr freuen wenn mir hier jemand helfen könnte
VG, Chantrall
ich versuche per VBA in Excel 2010 den Inhalt meiner Zeilen aus meiner "Tabelle1" in eine zweite leere Tabelle "Tabelle2" zu kopieren. Hierbei soll überprüft werden, ob der Zelleninhalt von Parameter A z.B. Zelle B3 identisch zum vorigen Zelleninhalt ist also B2. Sind die Inhalte der beiden Zellen nicht identisch, dann soll die Zeile mit der Zelle B3 in "Tabelle2" in den nächstfreien Eintrag kopiert werden. Wenn die Inhalte der beiden Zellen identisch sind, dann soll die Zeile wo sich die Zelle B3 drin befindet nicht kopiert werden und der nächste Zelleninhalt überprüft werden (also Inhalt von B4 mit Inhalt von B3).
So sehen beispielhaft die beiden Tabellenblätter aus:
Tabelle2:
Modell | A | B | Spezifikation | km-Stand | Datum |
122-45 | 10 | 3 | 5.Gang Automatik | 6035 | 11.04.15 |
Tabelle1:
Modell | A | B | Spezifikation | km Stand | Datum |
122-45 | 10 | 3 | 5.Gang Automatik | 6035 | 11.04.15 |
122-45 | 10 | 3 | 5.Gang Automatik | 6035 | 11.04.15 |
122-45 | 5,5 | 4,26 | DCT | 7543 | 25.05.15 |
122-45 | 14 | 12,63 | DCT | 7900 | 27.05.15 |
122-45 | 22 | 1 | Automatik | 9521 | 13.06.15 |
122-45 | 22 | 1 | Automatik | 9521 | 13.06.15 |
Ich habe mich auch schon selber daran ausprobiert... verzweifele jedoch langsam, da ich schon nur beim Kopieren der Zeile dauernd Laufzeitfehler rausbekomme (Copy Befehl funktioniert nicht) oder Excel hängt sich komplett auf bei der Ausführung meines Codes. Leider finde ich auch nicht den Fehler darin. Ich bin auch noch ein ziemlicher Neuling in VBA und auch das liebe Internet konnte mir jetzt nicht mehr weiterhelfen.
Hier ist der von mir erstellte Code:
Visual Basic-Quellcode
- Option Explicit
- Sub KopiereRange()
- Dim Tab1, Tab2
- Dim I As Integer
- Dim k As Integer
- Dim Vorg
- Dim Vergl
- Set Tab1 = Worksheets("Tabelle1")
- Set Tab2 = Worksheets("Tabelle2")
- I = Tab1.Rows.Count 'zählt die beschriebenen Zellen durch
- Vorg = Tab1.Cells(2, 2).Value
- Vergl = Tab1.Cells(3, 2).Value
- For k = 3 To I Step 1
- If Vorg <> Vergl Then
- Tab1.Cells(k, 2).Copy
- Tab2.Paste Destination:=Cells(k, 1)
- Else
- Tab1.Cells(k + 1, 2).Copy
- Tab2.Paste Destination:=Cells(k + 1, 1)
- End If
- Next
- End Sub
Vielleicht gibt es hier jemanden, der da einen besseren Durchblick hat als ich und mir da auf die Sprünge helfen kann.
Ich würde mich sehr freuen wenn mir hier jemand helfen könnte
VG, Chantrall