Frage von riiinakatha, 47

Wie kann ich bestimmte Einträge (gesamte Zeile mit best. Wort) aus verschiedenen Sheets automatisch in ein neues Sheet übertragen?

Hallo zusammen,

ich bräuchte BITTE hilfe.

Folgender Sachverhalt:

ich habe eine Excel-Datei in welcher sich in ein Sheet pro Mitarbeiter befindet. Jedes Mitarbeiter-Sheet ist gleich aufgebaut u es wird eingetragen welche Immobilien sie in ihrem Portfolio besitzen. Eine der Spalten ist mit einem Drop Down versehen, bei dem man auswählen kann - Aktiv, Unter Vertrag oder Verkauft. Nun bräuchte ich eine Funktion die mir alle Mitarbeiter Sheets auf "Unter Vertrag" durchsucht und diese auf einem neuen Sheet zusammenfasst.

Ich bin leider Excel-Laie und kenne mich mit Makros nicht aus.

Ich wäre froh wenn mir jemand eine step-by-step Anleitung geben könnte.

Vielen Dank im Voraus!

Liebe Grüße,

Katharina

Expertenantwort
von Iamiam, Community-Experte für Excel, 10

Hier erst mal das Makro:

Sub ZeilenFindenÜbertragen()
Dim Blatt As Worksheet, c, ENam, Sucheintrag

ENam = "Result" 'ist ErgebnisblattName
Sucheintrag = "Unter Vertrag" 'ist Dein Dropdown-Eintrag

For Each Blatt In ActiveWorkbook.Windows(1).SelectedSheets

For Each c In Blatt.Columns(7).SpecialCells(xlConstants)
If c.Value = Sucheintrag Then
c.EntireRow.Copy Destination:=Worksheets(ENam).Range("A1").End(xlDown).Offset(1, 0)
Debug.Print Blatt.Name & c.Address 'kannst Du auch löschen, nur z.Kontrolle
End If
Next c

Next Blatt

End Sub


Halte dich jetzt Schritt für Schritt genau an die Anweisungen!

Kopiere diesen Code.

Drücke (gleichzeitig) Alt und F11 (wenn sich nichts tut, geh auf Esc und wiederhole Alt+F11). Es öffnet sich das VBA-Fenster.

Geh dort im Menü "Einfügen" auf Modul: es erscheint ein leeres Modul-Blatt.
Einfügen des Subs (sollte noch in der Zwischenablage sein) über Kontext-menü oder Strg+v

Ergebnisblatt mit Doppelklick auf Blattnamensfahne (unten, "hängender Reiter") als "Result" benennen.

Result muss mindestens je einen Eintrag in A1 und A2 aufweisen, die Ergebniszeilen werden dann unterhalb der (ggf schon vielen unbedingt lückenlosen! Ggf Leerzeichen setzen!) existierenden Einträge angehängt

Erstes Mitarbeiterblatt an der Blattnamensfahne markieren, Umsch drücken, letzes MA-Blatt ebenso markieren. Alle Blätter dazwischen sollten damit mitmarkiert sein.

Dann Makro auswählen: Menü Ansicht - Makros (ganz rechts) - Makros anzeigen (ist ja nur das eine drin ?), - Ausführen.

Der Rest sollte automatisch ablaufen

Wenn was nicht klappt, frag zurück!

Kommentar von Iamiam ,

Du kannst die Auswertungmehrfach durchführen. am besten, du schreibst in die erste freie Zeile vorher das Datum (Tipp: Strg+. setzt das heutige Datum automatisch, Strg+: die Uhrzeit. Kann man auch in der Bearbeitungszeile aneinanderhängen)

Expertenantwort
von Iamiam, Community-Experte für Excel, 11

Hi Katharina, ich hab zwar noch Schwierigkeiten mit einem Makro-Befehl, bin aber zuversichtlich, dass ich das noch hinkriege, kann allerdings noch dauern.

Es ist notwendig, die MA-Blätter alle hintereinander zu ordnen, es sollte also kein anderes Blatt zwischendrin sein. Das Ergebnisblatt solltest du zur Vermeidung unnötiger Korrekturen schon mal Result nennen.

Du kannst schon mal üben, mehrere Blätter als Gruppe auszuwählen:

Erstes an der Blattnamensfahne (unten, "hängender Reiter") auswählen, Shift (Umschalt) drücken und mit der Maus das letzte ebenfalls an der Blattnamensfahne anklicken, dann sind alle zu einerGruppe zusammengefasst, die man dann fürs Makro braucht.

Und keine Angst vor Makros: ich erklär das dann ganz genau. Bis später, hoffentlich noch heute! (wollte nur mal Zwischenmeldung geben, weil Du doch schon 2 Tage auf AW wartest)

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten