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

Forumthread: Zellen kopieren wenn Bedingung erfüllt

Zellen kopieren wenn Bedingung erfüllt
11.12.2020 08:21:22
Christoph
Hallo zusammen,
ich schlage mich seit ein paar Tagen mit einem Problem rum.
Ich habe einen Abfrage Spalte (E7:E41) in der Tabelle "Stundenzettel", wenn in dieser der Wert größer als "08:30" ist, sollen bestimmte Werte aus der selben Zeile sowie von einem weiteren Arbeitsblattes (Stammdaten) in ein anderes Arbeitsblatt (Mehrstunden) kopiert werden.
Ich habe die Datei hochgeladen damit man sich vorstellen kann worum es geht. Die roten Zahlen sollen bei erfüllter Bedinung an die Stelle der grünen Zahlen kopiert werden.
Die Abfrage soll für jede der Zeile (E7:E41) erfolgen und die entsprechenden Daten für jeden Tag (Sofern notwendig, also Bedinung erfüllt) jeweils in einer separaten Zeile auf dem Blatt "Mehrstunden" abgelegt werden.
MIt bspw. dem Macrorecorder gelingt das kopieren, aber halt nicht die Prüfung der Bedingung und die zeilenweise Auflistung.
Vielleicht könnt Ihr ja meine Knoten im Kopf befreien ich weiß nicht wie ich es anstellen soll. :)
VIelen Dank schonmal für eure Hilfe
Christoph
https://www.herber.de/bbs/user/142246.xlsm
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen kopieren wenn Bedingung erfüllt
11.12.2020 11:17:28
Yal
Hallo Christoph,
zwar ist dein Beispieldatei ein xlsm, aber ich kann kein Coding darin entdecken. Ist da was schief gelaufen?
VG
Yal
;

Forumthreads zu verwandten Themen

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

Zellen kopieren, wenn Bedingung erfüllt ist


Schritt-für-Schritt-Anleitung

Um in Excel einen Wert aus einer Zelle zu übernehmen, wenn eine bestimmte Bedingung erfüllt ist, kannst Du die Funktion WENN in Kombination mit KOPIEREN oder VBA verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Deine Excel-Datei und gehe zu dem Tabellenblatt, auf dem Du die Bedingung überprüfen möchtest (z.B. "Stundenzettel").
  2. Wähle die Zelle aus, in der Du die Bedingung prüfen möchtest (z.B. E7).
  3. Gib folgende Formel ein:
    =WENN(E7>ZEIT(8;30;0);A7;"")

    Hierbei wird der Wert aus Zelle A7 übernommen, wenn die Bedingung erfüllt ist.

  4. Ziehe die Formel nach unten, um sie auf die anderen Zellen (E8:E41) anzuwenden.
  5. Um Werte aus einer anderen Tabelle zu übernehmen, kannst Du die folgende Formel nutzen:
    =WENN(E7>ZEIT(8;30;0);Stammdaten!A7;"")

    Diese Formel übernimmt den Wert aus der Tabelle "Stammdaten", wenn die Bedingung in der Spalte E erfüllt ist.

Für das Kopieren in ein anderes Tabellenblatt (z.B. "Mehrstunden") kann VBA eingesetzt werden.


Häufige Fehler und Lösungen

  • Fehler: Formel gibt nicht das erwartete Ergebnis zurück.

    • Lösung: Überprüfe, ob die Bedingung korrekt eingegeben ist. Achte darauf, dass die Zeitangabe im richtigen Format vorliegt.
  • Fehler: Zellen bleiben leer, obwohl sie nicht sein sollten.

    • Lösung: Stelle sicher, dass die Formatierung der Zellen (z.B. Zeitformat) korrekt gesetzt ist.
  • Fehler: VBA funktioniert nicht.

    • Lösung: Aktiviere die Entwicklertools in Excel und stelle sicher, dass Makros aktiviert sind.

Alternative Methoden

Wenn Du keine Formeln verwenden möchtest, kannst Du VBA verwenden, um Werte zu kopieren, wenn eine Bedingung erfüllt ist. Hier ein einfaches Beispiel:

Sub KopiereWerte()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet
    Dim i As Long, j As Long

    Set wsSource = ThisWorkbook.Worksheets("Stundenzettel")
    Set wsTarget = ThisWorkbook.Worksheets("Mehrstunden")
    j = 1

    For i = 7 To 41
        If wsSource.Cells(i, 5).Value > TimeValue("08:30:00") Then
            wsTarget.Cells(j, 1).Value = wsSource.Cells(i, 1).Value
            j = j + 1
        End If
    Next i
End Sub

Dieser Code überprüft die Werte in der Spalte E und kopiert sie in das "Mehrstunden"-Blatt.


Praktische Beispiele

  1. Wert aus einer Zelle übernehmen, wenn Bedingung erfüllt:

    =WENN(E7>ZEIT(8;30;0);A7;"")
  2. Wert aus einer anderen Tabelle übernehmen:

    =WENN(E7>ZEIT(8;30;0);Stammdaten!B7;"")
  3. Kopieren einer ganzen Zeile, wenn eine Bedingung erfüllt ist. In VBA:

    If wsSource.Cells(i, 5).Value > TimeValue("08:30:00") Then
       wsSource.Rows(i).Copy wsTarget.Rows(j)
       j = j + 1
    End If

Tipps für Profis

  • Verwende benannte Bereiche, um die Lesbarkeit Deiner Formeln zu erhöhen.
  • Nutze die Möglichkeit von Datenüberprüfung, um sicherzustellen, dass die Eingaben korrekt sind.
  • Speichere Deine Arbeit häufig, insbesondere wenn Du mit VBA arbeitest, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Bedingungen überprüfen? Du kannst die Funktion WENN verschachteln oder UND verwenden, um mehrere Bedingungen zu prüfen.

2. Kann ich die Werte automatisch aktualisieren lassen? Ja, Du kannst die Formeln automatisch aktualisieren lassen, indem Du Excel so einstellst, dass es bei jeder Änderung neu berechnet wird.

3. Was ist der Unterschied zwischen Kopieren und Übernehmen? Kopieren bedeutet, dass der Wert in eine andere Zelle oder Tabelle dupliziert wird, während Übernehmen bedeutet, dass er in eine andere Zelle eingefügt wird, ohne dass die Originaldaten verloren gehen.

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