Excel zeilen in anderes tabellenblatt kopieren wenn bedingung erfüllt

Herbers Excel-Forum - das Archiv

Informationen und Beispiele zu den hier genannten Dialog-Elementen:

  • Zellen kopieren, wenn Bedingungen erf�llt von Daniel vom 02.06.2005 15:59:15
    • AW: Zellen kopieren, wenn Bedingungen erf�llt - von IngGi am 02.06.2005 16:15:25
      • AW: Zellen kopieren, wenn Bedingungen erf�llt - von Daniel am 02.06.2005 16:23:10
        • AW: Zellen kopieren, wenn Bedingungen erf�llt - von IngGi am 02.06.2005 16:41:47
          • AW: Zellen kopieren, wenn Bedingungen erf�llt - von Daniel am 02.06.2005 16:47:29
            • AW: Zellen kopieren, wenn Bedingungen erf�llt - von Daniel am 03.06.2005 10:47:30
              • AW: Zellen kopieren, wenn Bedingungen erf�llt - von IngGi am 03.06.2005 14:26:46
                • AW: Zellen kopieren, wenn Bedingungen erf�llt - von Daniel am 03.06.2005 14:49:44
                  • AW: Zellen kopieren, wenn Bedingungen erf�llt - von Daniel am 03.06.2005 15:51:27
                    • AW: Zellen kopieren, wenn Bedingungen erf�llt - von IngGi am 03.06.2005 16:48:00
                      • AW: Zellen kopieren, wenn Bedingungen erf�llt - von Daniel am 03.06.2005 16:50:30
                        • AW: Zellen kopieren, wenn Bedingungen erf�llt - von IngGi am 03.06.2005 17:57:55
                          • AW: Zellen kopieren, wenn Bedingungen erf�llt - von IngGi am 06.06.2005 11:41:58
                            • Tut sich nix.... - von Daniel am 06.06.2005 12:00:39
                              • AW: Tut sich nix.... - von IngGi am 06.06.2005 14:02:45
                                • AW: Tut sich nix.... - von Daniel am 06.06.2005 15:17:07
                                  • AW: Tut sich nix.... - von IngGi am 06.06.2005 17:13:08
                                    • Super!!!!!! - von Daniel am 06.06.2005 17:25:52

      Excel zeilen in anderes tabellenblatt kopieren wenn bedingung erfüllt

      Betrifft: Zellen kopieren, wenn Bedingungen erf�llt
      von: Daniel

      Geschrieben am: 02.06.2005 15:59:15
      Guten Tag,
      ich m�chte per Makro gerne Werte aus Zellen eines Blattes in die Zellen eines zweiten Blattes kopieren, wenn zwei Bedingungen zutreffen. Dabei sollen fortlaufende Zeilen �berpr�ft werden.
      Wenn in Tabelle2 in Zelle G2 der Wert identisch ist mit dem Wert in Zelle G2 der Tabelle1 UND in Zelle A2 der Tabelle2 der Wert gleich Zelle A2 in Tabelle1, dann soll der Wert aus Zelle E2 aus Tabelle1 nach E2 in Tabelle2 kopiert werden.
      Das Ganze soll bis zur letzten gef�llten Zeile in der Tabelle2 durchgef�hrt werden.
      Da es keine M�glichkeit gibt diesen Schritt anderweitig besser zu l�sen, w�rde ich daf�r gerne ein Makro haben, v.a. weil diese Operation �ber mehrere Bl�tter durcgef�hrt werden muss.
      Vielen Dank f�r Hilfe,
      Daniel

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: IngGi

      Geschrieben am: 02.06.2005 16:15:25
      Hallo Daniel,
      nachfolgendes Makro mu�t du in ein benutzerdefiniertes Modul deiner Datei im Makro-Editor kopieren. Du gehst daf�r zun�chst mit Alt+F11 in den Makro-Editor. Dann f�gst du mit Einf�gen-Modul ein Modul ein und kopierst schlie�lich das Makro in das gro�e Fenster auf der rechten Seite. Gestartet wird das Makro in Excel �ber Extras-Makro-Makros-Kopieren und klick auf "Ausf�hren".
      Public

      Sub Kopieren()
      Dim rng As Range
      For Each rng In Sheets("Tabelle2").Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
      If Sheets("Tabelle1").Cells(rng.Row, 1) = Sheets("Tabelle2").Cells(rng.Row, 1) And _
      Sheets("Tabelle1").Cells(rng.Row, 7) = Sheets("Tabelle2").Cells(rng.Row, 7) Then
      Sheets("Tabelle1").Cells(rng.Row, 5).Copy _
      Destination:=Sheets("Tabelle2").Cells(rng.Row, 5)
      End If
      Next rng
      End Sub

      Gruss Ingolf

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: Daniel
      Geschrieben am: 02.06.2005 16:23:10
      Hallo Ingolf,
      beim Auf�hren des Makros wird diese Zeile gelb markiert:
      For Each rng In Sheets("Tabelle2").Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
      Was muss ich machen?
      Gr��e,
      Daniel

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: IngGi
      Geschrieben am: 02.06.2005 16:41:47
      Hallo Daniel,
      versteh ich nicht, warum das nicht funzt. Tuts bei mir allerdings auch nicht. Ersetz die Zeile mal hiermit, das hat bei mir jetzt funktioniert:
      For Each rng In Sheets("Tabelle2").Range("A2:A" & Range("A65536").End(xlUp).Row)
      Gruss Ingolf

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: Daniel
      Geschrieben am: 02.06.2005 16:47:29
      Komisch, jetzt tut sich gar nichts.
      Gr��e,
      Daniel

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: Daniel
      Geschrieben am: 03.06.2005 10:47:30
      Ich habe hier nochmal eine Beispieldatei:

      Die Datei https://www.herber.de/bbs/user/23590.xls wurde aus Datenschutzgr�nden gel�scht

      �ber Hilfe w�rde ich mich sehr freuen!
      Daniel

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: IngGi

      Geschrieben am: 03.06.2005 14:26:46
      Hallo Daniel,
      bei mir l�uft das Makro. Nat�rlich mu�t du die Namen der Tabellenbl�tter anpassen. Die heissen ja anders, als du angegeben hast. Ich hab die Tabellenbl�tter jetzt mal einfach �ber den Index angesprochen. Ausserdem hab ich beim Kopierbefehl noch was ver�ndert, da er sonst auch die Formatierungen mitkopiert. Eine Vermutung, warum sich bei dir nichts tut, hab ich allerdings noch. Kann es sein, dass du im Tabellenblatt "Open Trades" nicht die Spalte G (Price), sondern die Spalte J (Target) vergleichen willst?
      https://www.herber.de/bbs/user/23607.xls

      Gruss Ingolf

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: Daniel
      Geschrieben am: 03.06.2005 14:49:44
      Hallo Ingolf,
      danke. Ich Idiot hatte die ganze zeit �bersehen, dass ich das erste Blatt ver�ndert hatte. Ja, ich meinte J und nicht G.
      Jetzt geht es nat�rlich. Danke!
      Gr��e,
      Daniel

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: Daniel

      Geschrieben am: 03.06.2005 15:51:27
      Hallo Ingolf,
      jetzt ist mir gerade etwas aufgefallen, an das ich zun�chst nicht gedacht hatte.
      Die Werte in den beiden Bl�ttern stimmen nicht so �berein, dass die zugeh�rigen in den "gleichen" Zeilen stehen.
      Das hei�t, man m�sste zun�chst in der kompletten Spalte A des Blattes "Open Trades" suchen, ob es eine �bereinstimmung mit Zelle A2 des Blattes "PT" gibt. Dabei kann es vorkommen, dass es mehrere �bereinstimmungen gibt.
      Wurden nun �bereinstimmungen gefunden, so sollen die Werte der Spalten G und J verglichen werden. Stimmen diese nun zus�tzlich �berein, so soll E kopiert werden.
      Zum bessern Verst�ndnis habe ich eine Beispieldatei kreiert:
      https://www.herber.de/bbs/user/23613.xls
      Vielen Dank und beste Gr��e,
      Daniel

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: IngGi

      Geschrieben am: 03.06.2005 16:48:00
      Hallo Daniel,
      ist sichergestellt, dass es, bezogen auf deine Beispieldatei, keine 2 JENG.DE, jeweils mit demselben Target gibt? Wenn beide JENG.DEs im Blatt PT aus deinem Beispiel ein Target von 8,86 h�tten, dann g�be es Probleme, weil er f�r beide den ersten Eintrag im Blatt "Open Trades" finden w�rde. Dadurch w�rde er in beide Zeilen im Blatt PT einen Wert von 1795 aus der Spalte E reinschreiben. Die zweite �bereinstimmende Zeile in Blatt "Open Trades" mit einem Wert von 1848 in Spalte E w�rde untergehen.
      Gruss Ingolf

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: Daniel

      Geschrieben am: 03.06.2005 16:50:30
      Hallo Ingolf,
      danke, dass Du Dich nochmal um mich k�mmerst.
      Im Normalfall ist das so, dass es keine zwei gelichen Targets gibt.
      Sicherheitshalber w�re es aber gut, wenn man da eine Messagebox einbauen k�nnte, die sich meldet, wenn das doch mal der Fall sein sollte.
      Besten Dank,
      Daniel

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: IngGi
      Geschrieben am: 03.06.2005 17:57:55
      Hallo Daniel,
      heute krieg ich das nicht mehr hin. Ich la� die Frage daher mal offen und schau am Montag wieder rein.
      Gruss Ingolf

      Betrifft: AW: Zellen kopieren, wenn Bedingungen erf�llt
      von: IngGi

      Geschrieben am: 06.06.2005 11:41:58
      Hallo Daniel,
      nachfolgendes Makro steigt bei Doppelf�llen mit einer Nachricht f�r den Benutzer aus der Bearbeitung aus.

      Sub finden_kopieren()
      Dim rngPT As Range, rngOT1 As Range, rngOT2 As Range, Doppelt As Boolean
      For Each rngPT In Sheets("PT").Range("A2:A" & Range("A65536").End(xlUp).Row)
      Set rngOT1 = Sheets("Open Trades").Range("A:A").Find(what:=rngPT, lookat:=xlWhole)
      If Not rngOT1 Is Nothing Then
      If rngPT.Offset(0, 6) = rngOT1.Offset(0, 9) Then
      Set rngOT2 = Range(rngOT1.Offset(1, 9), rngOT1.Offset(0, 6).End(xlDown)) _
      .Find(what:=rngPT.Offset(0, 6), lookat:=xlWhole)
      If Not rngOT2 Is Nothing Then
      If rngOT2.Offset(0, -9) = rngPT Then Doppelt = True
      End If
      If Doppelt = False Then
      Do
      Set rngOT2 = Range(rngOT1.Offset(1, 0), rngOT1.End(xlDown)).FindNext
      If rngOT2 Is Nothing Then Exit Do
      If rngOT2.Offset(0, -9) = rngPT.Offset(0, 6) Then Doppelt = True
      Loop
      End If
      If Doppelt = True Then
      MsgBox ("Achtung!!! Doppelfall in Blatt 'Open Trades'.")
      Else
      rngPT.Offset(0, 4) = rngOT1.Offset(0, 9)
      Exit Sub
      End If
      End If
      End If
      Next rngPT
      End Sub

      Gruss Ingolf

      Betrifft: Tut sich nix....
      von: Daniel

      Geschrieben am: 06.06.2005 12:00:39
      Hallo Ingolf,
      zun�chst vielen Dank f�r Deine M�he.
      Im Moment geht aber leider noch nichts.
      Kann es sein, dass Du mit den Spalten etwas durcheinander geraten bist?
      K�nntest Du vielleicht dem Code noch kurze Kommentare hinzuf�gen, so dass ich Ihn �ndern und verstehen kann. Das w�re auch sehr nett.
      Gr��e,
      Daniel

      Betrifft: AW: Tut sich nix....
      von: IngGi

      Geschrieben am: 06.06.2005 14:02:45
      Hallo Daniel,
      der Exit Sub-Befehl war in der falschen Bedingung der If-Pr�fung. Das hab ich korrigiert und ein paar Kommentare eingef�gt. Ich hoffe, das ist einigerma�en verst�ndlich. Der Ablauf ist n�mlich ziemlich komplex. Daher hier auch noch eine kurze Beschreibung:
      Das Makro nimmt sich die erste Zelle in Spalte A von Blatt PT, also A2
      In Spalte A des Blattes Open Trades wird jetzt nach einem identischen Eintrag gesucht
      Wenn gefunden, wird in der gleichen Zeile (also Zeile 2 in PT und Zeile der vorher gefundenen Zelle in Open Trades) die Spalte G/J verglichen.
      Jetzt mu� noch auf Doppelf�lle gepr�ft werden. Dazu wird der Inhalt der Spalte G in PT gesucht, und zwar in allen Zellen der Spalte J in Open Trades, von der aktuellen Zelle (= Zelle, die vorher in Spalte A gefunden wurde), bis zur letzten beschriebenen Zelle.
      Dabei werden allerdings alle Zellen gefunden, die beim Vergleich der Spalten G/J identisch sind, unabh�ngig davon, ob sie auch beim Vergleich der Spalte A identisch sind. Derher mu� die Spalte A bei der gefundenen Zeile auch noch mal gepr�ft werden.
      Wenn kein Doppelfall gefunden wird, wird in einer Endlosschleife (Do...Loop) weitergesucht (auch hier wieder zuerst Vergleich der Spalten G/J und anschlie�end nochmal der Vergleich der Spalte A). Die Endlosschleife wird �ber den Befehl Exit Do verlassen, sobald ein Doppelfall gefunden und der Merker auf True gesetzt wurde oder der Vergleich der Spalten G/J zu keinem Ergebnis mehr f�hrt (rngOT2=Nothing).
      Wenn auch in der Endlosschleife kein Doppelfall gefunden wird, wird die Spalte E �bertragen und das Makro macht mit der n�chsten Zelle in Spalte A, Blatt PT weiter.

      Sub finden_kopieren()
      Dim rngPT As Range      'Verweist auf die Zelle in TB "PT", Spalte A, die gerade bearbeitet wird
      Dim rngOT1 As Range     'Verweist auf die gefundene Zelle in TB "Open Trades", Spalte A
      Dim rngOT2 As Range     'Verweist auf die gefundene Zelle in TB "Open Trades", Spatle J
      Dim Doppelt As Boolean  'Merker f�r Doppelf�lle
      'Bearbeite im Blatt PT alle Zellen von A2 bis A? (letzte beschriebene Zelle in Spalte A)
      For Each rngPT In Sheets("PT").Range("A2:A" & Range("A65536").End(xlUp).Row)
      'Suche Zelle in Open Trades, Spalte A, mit gleichem Inhalt, wie aktuell bearbeitete Zelle in PT
      Set rngOT1 = Sheets("Open Trades").Range("A:A").Find(what:=rngPT, lookat:=xlWhole)
      'Wenn Zelle mit gleichem Inhalt gefunden ...
      If Not rngOT1 Is Nothing Then
      'Wenn der Inhalt der Zelle 6 Spalten rechts von rngPT (=Blatt PT, Spalte G)
      'gleich dem Inhalt der Zelle 9 Spalten rechts von rngOT1 (=Blatt Open Trades, Spalte J, dann...
      If rngPT.Offset(0, 6) = rngOT1.Offset(0, 9) Then
      'Suche nach doppelter Zelle in Open Trades, Spalte J, Zeile der vorher gefundenen Zelle
      'in Spalte A bis letzte beschriebene Zelle in Spalte J.
      Set rngOT2 = Range(rngOT1.Offset(1, 9), rngOT1.Offset(0, 6).End(xlDown)) _
      .Find(what:=rngPT.Offset(0, 6), lookat:=xlWhole)
      'Wenn doppelte Zelle gefunden...
      If Not rngOT2 Is Nothing Then
      'Pr�fen, ob Eintrag in Spalte A ebenfalls identisch und wenn ja, Merker auf True
      If rngOT2.Offset(0, -9) = rngPT Then Doppelt = True
      End If
      'Wenn doppelte Zelle nicht gefunden ...
      If Doppelt = False Then
      Do '... weitersuchen nach doppelter Zelle
      Set rngOT2 = Range(rngOT1.Offset(1, 0), rngOT1.End(xlDown)).FindNext
      'Wenn beim Weitersuchen doppelte Zelle nicht gefunden, raus aus Do...Loop-Schleife
      If rngOT2 Is Nothing Then Exit Do
      'Sonst pr�fen, ob Eintrag in Spalte A ebenfalls identisch und wenn ja, Merker auf True
      If rngOT2.Offset(0, -9) = rngPT.Offset(0, 6) Then Doppelt = True
      Loop
      End If
      'Wenn doppelte Zelle gefunden...
      If Doppelt = True Then
      '...Nachricht ausgeben...
      MsgBox ("Achtung!!! Doppelfall in Blatt 'Open Trades'.")
      '...und Makro beenden.
      Exit Sub
      Else
      'Wenn doppelte Zelle nicht gefunden, Spalte E �bertragen und weiter mit n�chster
      'Zelle in Blatt PT, Spalte A...
      rngPT.Offset(0, 4) = rngOT1.Offset(0, 9)
      End If
      End If
      End If
      Next rngPT
      End Sub

      Gruss Ingolf

      Betrifft: AW: Tut sich nix....
      von: Daniel

      Geschrieben am: 06.06.2005 15:17:07
      Hallo Ingolf,
      super, das sieht doch schon verdammt gut aus. Danke.
      Leider hat nicht alles zu 100% geklappt.
      Ich lade meine Beispieldatei nochmal hoch. Ich habe eine Zelle markiert, die nicht bearbeitet wurde. Eigentlich sollte in dieser Zelle 1848 stehen.

      Die Datei https://www.herber.de/bbs/user/23667.xls wurde aus Datenschutzgr�nden gel�scht

      Gr��e,
      Daniel

      Betrifft: AW: Tut sich nix....
      von: IngGi

      Geschrieben am: 06.06.2005 17:13:08
      Hallo Daniel,
      da war noch ein dicker Fehler drin. Wenn er einen gleichen Eintrag in Spalte A findet, aber die entsprechende Zelle in Spalte G/J stimmt nicht �berein, dann mu� er nat�rlich noch nach weiteren �bereinstimmungen der Spalte A suchen. Das hab ich jetzt eingebaut. Mit Hilfe der Variablen lngZeile wird der Suchbereich in Spalte A jetzt variabel definiert. D.h. wenn er zwar eine �bereinstimmung in Spalte A findet, diese Zeile aber in Spalte G/J nicht �bereinstimmt, wird lngZeile um 1 hochgez�hlt, damit er beim Weitersuchen nicht wieder die gleiche Zeile findet wie vorher, also die, in der zwar Spalte A �bereinstimmt, nicht jedoch Spalte G/J. Schau's dir mal an.
      https://www.herber.de/bbs/user/23669.xls
      Gruss Ingolf

      Betrifft: Super!!!!!!
      von: Daniel

      Geschrieben am: 06.06.2005 17:25:52
      Hi Ingolf,
      das ist echt klasse. Vielen Dank f�r die Hilfe!
      Echt super, das das jetzt geht.
      Beste Gr��e,
      Daniel

       

      Excel zeilen in anderes tabellenblatt kopieren wenn bedingung erfüllt

      Excel-Beispiele zum Thema "Zellen kopieren, wenn Bedingungen erfüllt"
      Makros in Abh�ngigkeit vom Zellennamen aufrufen Zellen auf Kommentar �berpr�fen
      Spalten bedingt summieren und Zellen formatieren Text aus Textbox in Zellen aufteilen
      Zellen vergleichen und markieren Z�hlen formatierter Zellen
      Daten aus Textdatei gezielt in Zellen �bernehmen Zellen verbinden und trennen
      Zellen bei Minuswerten schraffieren Zeilen oberhalb der markierten Zellen einf�gen