Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeile übernehmen wenn Bedingung erfüllt

Zeile übernehmen wenn Bedingung erfüllt
25.11.2016 09:42:58
David
Hallo zusammen,
ich habe folgendes Problem und hoffe mir kann jemand weiterhelfen:
Ich habe eine Tabelle "Mandanten" in der ich jegliche Infos zum entsprechenden Mandanten eingebe. Dann habe ich noch eine Tabelle "Monatsmelder" und eine "Quartalsmelder". Nun sollen in "Monatsmelder" automatisch alle Betriebsnummern auftauchen, wenn folgende Bedingung erfüllt ist: Tabelle "Mandanten" Spalte P=Monat.
Dasselbe mit der Tabelle Quartalsmelder.
Habe bisher eine große Formle benutzt, welche aber irgendeinen Fehler beinhaltet (funktioniert dennoch) und die Excelmappe auch sehr verlangsamt. Nun wäre mir eine VBA-Lösung ganz Recht. Da ich aber nicht viel bis gar keine Ahnung von VBA habe, weiß ich nicht ob ich das hinbekommen.
Würde mich freuen wenn mir jemand helfen könnte. Habe eine kleine Beispielsdatei angehängt. https://www.herber.de/bbs/user/109707.xlsx
Gruß David
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile übernehmen wenn Bedingung erfüllt
25.11.2016 23:56:53
Piet
Hallo David
anbei deine Beispieldatei mit Makro als .xlsm Datei zürück. Bitte zuerst Originakdaten ins Beispiel
kopieren und dort testen ob das Makro funktioniert. Dort kann man keine Originaldaten zerstören.
Würde mich freuen wenn es einwandfrei klappt. Die Grösse des Button bitte selbst bestimmen.
Ich verwende normale Button, keine AktiveX Steuerelemente. Die müssen anders programmiert werden
mfg Piet
https://www.herber.de/bbs/user/109731.xlsm
Anzeige
AW: Zeile übernehmen wenn Bedingung erfüllt
30.11.2016 11:12:57
David
Hallo Piet,
sorry dass ich mich jetzt erst melde, hatte etwas Stress die letzten Tage.
Ich habe dein Makro nun bei mir ausprobiert. Und siehe da: Es funktioniert!
Musste nur kleine Änderungen vornehmen, weil die Originaldatei etwas anders aufgebaut ist. Aber nun klappt es einwandfrei. Vielen Dank für deine Hilfe.
Gruß David
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeile übernehmen bei erfüllter Bedingung in Excel


Schritt-für-Schritt-Anleitung

Um in Excel eine Zeile zu übernehmen, wenn eine bestimmte Bedingung erfüllt ist, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Daten vorbereiten: Stelle sicher, dass deine Daten in einer Tabelle organisiert sind, z. B. in der Tabelle "Mandanten".

  2. Bedingung festlegen: Bestimme, welche Bedingung erfüllt sein muss, damit die Zeile kopiert wird (z. B. Spalte P = Monat).

  3. Formel erstellen: Du kannst die Funktion WENN nutzen, um zu prüfen, ob die Bedingung erfüllt ist. Die allgemeine Formel sieht so aus:

    =WENN(Bedingung, Wert_wenn_wahr, Wert_wenn_falsch)

    Beispiel:

    =WENN(P2="Januar", A2, "")
  4. Automatisches Kopieren: Um die Zeilen in ein anderes Tabellenblatt zu kopieren, kannst du die Formel für die gesamte Spalte ziehen oder die FILTER-Funktion verwenden (verfügbar in Excel 365):

    =FILTER(Mandanten!A2:D100, Mandanten!P2:P100="Januar")
  5. Makro verwenden: Wenn du VBA verwenden möchtest, um die Aufgabe zu automatisieren, kannst du ein einfaches Makro schreiben, das die Zeilen kopiert, wenn die Bedingung erfüllt ist.


Häufige Fehler und Lösungen

  • Formel funktioniert nicht: Überprüfe, ob die Bedingung korrekt formuliert ist und in der richtigen Zelle angewendet wird.
  • Daten werden nicht angezeigt: Stelle sicher, dass die Daten im Zielbereich der Formel vorhanden sind und dass du die richtige Tabelle und Spalten referenzierst.
  • Langsame Excel-Datei: Wenn deine Datei sehr groß ist und die Formeln langsam arbeiten, kann es hilfreich sein, die Berechnung auf "manuell" zu setzen oder VBA zu nutzen, um die Leistung zu verbessern.

Alternative Methoden

  • VLOOKUP oder SVERWEIS: Du kannst auch SVERWEIS verwenden, um Werte aus einer anderen Tabelle zu übernehmen, wenn eine Bedingung erfüllt ist.

  • Power Query: Nutze Power Query, um Daten zu transformieren und zu filtern, bevor du sie in dein Arbeitsblatt lädst.

  • Pivot-Tabellen: Wenn du aggregierte Daten benötigst, können Pivot-Tabellen eine nützliche Alternative sein.


Praktische Beispiele

  1. Werte aus einer anderen Tabelle übernehmen: Angenommen, du möchtest Betriebsnummern aus der Tabelle "Mandanten" in die Tabelle "Monatsmelder" übernehmen:

    =WENN(Mandanten!P2=Monat, Mandanten!A2, "")
  2. Zeilen automatisch kopieren: Verwende die FILTER-Funktion, um alle relevanten Zeilen aus "Mandanten" zu kopieren:

    =FILTER(Mandanten!A:D, Mandanten!P:P=Monat)
  3. VBA-Makro: Ein einfaches VBA-Skript könnte so aussehen:

    Sub ZeilenKopieren()
       Dim wsMandanten As Worksheet
       Dim wsMonatsmelder As Worksheet
       Set wsMandanten = ThisWorkbook.Sheets("Mandanten")
       Set wsMonatsmelder = ThisWorkbook.Sheets("Monatsmelder")
    
       ' Beispiel für das Kopieren von Zeilen
       Dim lastRow As Long
       lastRow = wsMandanten.Cells(wsMandanten.Rows.Count, "P").End(xlUp).Row
    
       Dim i As Long
       For i = 2 To lastRow
           If wsMandanten.Cells(i, "P").Value = "Januar" Then
               wsMandanten.Rows(i).Copy wsMonatsmelder.Rows(wsMonatsmelder.Cells(wsMonatsmelder.Rows.Count, 1).End(xlUp).Row + 1)
           End If
       Next i
    End Sub

Tipps für Profis

  • Namen definieren: Verwende definierte Namen für Bereiche, um die Formeln übersichtlicher zu gestalten.

  • Datenvalidierung: Setze Datenvalidierungen ein, um sicherzustellen, dass nur gültige Werte in die relevanten Zellen eingegeben werden.

  • Fehlerbehandlung in VBA: Implementiere Fehlerbehandlungsroutinen in deinem Makro, um unerwartete Fehler zu erfassen und zu beheben.


FAQ: Häufige Fragen

1. Wie kann ich eine gesamte Zeile in ein anderes Tabellenblatt kopieren?
Du kannst die FILTER-Funktion verwenden oder ein Makro schreiben, das die gesamten Zeilen kopiert, wenn die Bedingung erfüllt ist.

2. Ist VBA notwendig für diese Aufgabe?
VBA ist nicht zwingend erforderlich, aber es kann die Automatisierung und Flexibilität erhöhen, insbesondere bei großen Datenmengen.

3. Wie kann ich sicherstellen, dass die Formeln schnell arbeiten?
Reduziere die Anzahl der verwendeten Formeln, verwende statische Werte, wenn möglich, und optimiere deine Arbeitsblattstruktur.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige