Excel - ein Makro zum Kopieren von Daten aus verschiedenen Arbeitsblättern

Problem

Ich versuche, Daten von verschiedenen Blättern nach den folgenden Kriterien auf das Master-Blatt zu kopieren

  • Das Masterblatt sollte immer dann generiert werden, wenn ich ein Makro ausführe, mit dem das vorherige Masterblatt gelöscht wird.
  • Alle Spaltenüberschriften sind identisch.
  • Für das Master-Blatt sollte nur eine Überschrift kopiert werden (dh die erste Zeile sollte nicht vom zweiten Blatt kopiert werden.)
  • Wenn in einer bestimmten Zelle Nullwerte angezeigt werden, sollte diese Zeile nicht kopiert werden.
  • Das Master-Blatt sollte nach der Spalte sortiert sein, die ich beim Ausführen des Makros erwähne. (Das heißt, ich werde dem Meldungsfeld das Feld / die Spalte zuweisen, das / die im Masterblatt sortiert werden soll.)

Lösung

Ich habe einen Zweifel, dass Sie die Daten für alle Monate auf das Masterblatt ODER für jeden Monat kopieren möchten. Ich nahm die ganzen Monate an. In diesem Fall versuchen Sie dieses Makro

 Untertest () Abm. J Solange, k Solange, r Wie Bereich j = Arbeitsblätter. Mit Arbeitsblättern zählen ("Master") Setze r = Bereich (.Bereich ("A2"), .Bereich ("A2"). Ende (xlDown)) r.EntireRow.Delete End With For k = 1 To j Wenn Worksheets (k) .Name = "master" Dann GoTo errorhandler Mit Worksheets (k) If .Range ("A2") = "" Dann GoTo errorhandler Setze r = Bereich (.Range ("A2"), .Range ("A2"). Ende (xlDown)) r.EntireRow.Copy Worksheets ("master"). Zellen (Rows.Count, "A"). Ende (xlUp) .Offset (1, 0) .PasteSpecial End With errorhandler: Next k End Sub 

In Ihrer Datei befinden sich zu viele leere Module. Entfernen Sie alle außer module1.

Beachten Sie, dass

Gelöst von venkat1926

Vorherige Artikel Nächster Artikel

Top-Tipps