Excel - Makro um Zeilen in andere Sheets zu kopieren

  • Hallo Zusammen!

    Ich bin in Sachen Excel-Makros leider ein absoluter Newbie und stehe daher vor folgendem Problem:

    In einer Tabelle sind unsere gesamten aktuellen Angebote aufgelistet.
    Es gibt 4 Sheets: Überblick, KundeA, KundeB, Rest
    Im Sheet Überblick steht in Spalte B der Kundenname.

    Nun hätte ich gerne ein Makro, das folgendes macht:
    - Durch das Sheet Überblick durchgehen
    - wenn in Spalte B der Wert "KundeA" steht, soll die ganze Zeile in das Sheet "KundeA" kopiert werden
    - wenn in Spalte B der Wert "KundeB" steht, soll die ganze Zeile dementsprechend in das Sheet "KundeB" kopiert werden
    - trifft keins von beiden zu, soll die Zeile nach "Rest" kopiert werden

    Kann man das irgendwie durch ein Makro realisieren?
    Hab mich schon durch das ganze WWW gegoogelt, aber bisher hab ich den richtigen Ansatz leider noch nicht gefunden.

    Wäre daher echt super, wenn mir hier irgendwer weiterhelfen könnte.

    Vielen Dank schon mal!!!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis:

  • Mit Sheet meine ich Arbeitsblätter.
    Sorry wenn das unklar war!

    Hoffe du kannst mir jetzt irgendwie ein bißchen weiterhelfen...
    Bin hier echt am verzweifeln!

  • Hallo Community :freu2:

    Hier ein Beispiel ,wobei der Autofilter genutzt wird ;)

    Gruß Tanto :p

  • Hi!

    Das Makro sieht an sich ja schon mal echt gut aus. Soweit ich das beurteilen kann.
    Aber wenn ich das über meine Tabelle laufen lasse bekomme ich folgende Fehlermeldung:

    > Laufzeitfehler '1004':
    > Kann Teil einer verbundenen Zelle nicht ändern.

    Hast du ne Ahnung wie ich das beheben kann?

    Kann das evtl. daran liegen, dass in den ersten 5 Zeilen der Tabelle ne Art Header ist?
    Die erste Zeile besteht zum Beispiel aus ner verbundenen Zelle von A bis W mit ner Überschrift.
    Muss ich dem Makro sagen, das es erst bei Zeile 6 anfangen soll nach den Schlagwörtern zu suchen?
    Wenn ja, kannst du mir verraten wie?

    Auf jeden Fall aber erstmal danke, dass du dich meinem Problem angenommen hast!

  • Hallo Mauli und Community :D

    zu korrigieren
    B6 statt B1
    2 als Zeilenangabe sollte dann zu 6 geaendert werden ;)

    Noch ergänzend zu verbundenen zellen 8O

    Verbundene Zellen sollten nicht genutzt werden,da diese bei Formeln wie auch VB immer wieder Probleme bereitet :achtung:

    Grüße euer Tanto :p

  • Hallo Community und Mauli :D

    Habe jetzt nicht so die zeit den Autofilter mit verbundenen Zellen zu testen :(

    Daher eine Alternative,wenn die Laufzeit zufriedendstellend sein sollte :oops:

    Liebe Grüße euer Tanto :p

    Code
    Public Sub EventsOff()
        With Application
            .ScreenUpdating = False
            .EnableEvents = False
            .Calculation = xlCalculationManual
        End With
    End Sub
    Code
    Public Sub EventsOn()
        With Application
            .ScreenUpdating = True
            .EnableEvents = True
            .Calculation = xlCalculationAutomatic
        End With
    End Sub
  • Eine Frage noch zur Implementierung deines Makros:

    Müssen die beiden anderen Quelltexte in andere Module rüberkopiert werden?
    Oder einfach unter den Quelltext des ersten Teils?
    Oder ganz woanders hin?

    Auf jeden Fall hab ich bei beiden Varianten das gleiche Problem:
    Nach Ausführen des Makros sind die Arbeitsblätter wo die Zeilen hinkopiert werden sollen immer noch leer.
    Ne Fehlermeldung bekomm ich aber nicht mehr (liegt das evtl. an dem neuen Pogrammiercode...?).

    Sorry, falls ich anfange zu nerven, aber es läuft halt immer noch nicht wie gewünscht...

  • Hi!

    So, hab nun die Zeit gefunden, deine Datei mal durchzuchecken.
    Klappt ja an sich schon echt gut.
    Aber ein Problem gibt es noch: Die erste in das jeweilige Worksheet kopierte Zeile steht immer in Zeile 5. Da soll sie aber ncht hin, sondern die Liste soll erst von Zeile 6 an beginnen.
    In deinem Makro-Code fand ich allerdings nur Sechsen.
    Hast du ne Ahnung, wie man es hinbekommt, dass das Kopieren erst eine zeile später passiert?

    Besten Dank auf jeden Fall schon mal für deine Arbeit!

  • Hallo Community :D

    Nachdem ich Verbundene Zellen entfernte,kam dieses Makro zum Einsatz( bis jetzt ;) ).

    Gruß euer Tanto :p

  • Hallo liebe Community :D

    Ich habe die betroffenen Befehle nun unterstrichen um eventuelle Positionen von Quelle wie Ziel zu verändern ;)

    Bei unklarheiten immer Fragen :pc:

    Gruß euer Tanto :p

  • Hi!

    Danke für die super Hilfe!

    Nach kleiner Modifikation läuft das Makro jetzt wie gewünscht.

    Alleine hätte ich das nie hinbekommen!

    Tausend Dank!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!