Anzeige
Archiv - Navigation
1456to1460
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gewisse Zellen kopieren - 2 Bedingungen

Gewisse Zellen kopieren - 2 Bedingungen
19.11.2015 19:00:23
Markus

Hallo liebes Forum,
mein Anliegen:
Ich habe 2 Tabellenblätter: Tabelle1 und Tabelle 2
Nun sollen die fehlenden Zellenwerte aus Tabelle 2 in Tabelle 1 an die richtige Position übertragen werden. Das "Kopieren" ist dabei mit 2 Bedingungen verbunden. Wenn die Spaltenwerte A und B (gleiche Zeile, nebeneinander) in beiden Tabellenblättern übereinstimmen, dann sollen die Zellenwerte der Spalten C und D (Tabelle 2, ebenfalls gleiche Zeile) an die richtige Position in Tabelle 1 übertragen werden.
Beispiel (siehe angehängte Datei):
Tabelle 2: Frankreich (A4) Produkt A (B4) kommt ebenfalls in Tabelle 1 vor, jedoch an anderer Position - Frankreich (A3) und Produkt A (B3) -> nun sollen die beiden Spaltenwerte C und D (C4=11; D4= 12) aus Tabelle 2 in Tabelle 1 an die Position C3 und D3 übertragen werden.
Folgenden Code habe ich gefunden, jedoch müssen hier die Positionen genau übereinstimmen:

Sub kopieren ()
Dim rng As Range
For each rng in Sheet("Tabelle1").Range(Cells(2,1), Cells(Rows.Count,1).End(xlUp)
If Sheets("Tabelle2").Cells(rng.Row, 1) = Sheets("Tabelle1").Cells(rng.Row, 1) And _
Sheets("Tabelle2").Cells(rng.Row, 2) = Sheets("Tabelle1").Cells(rng.Row, 2) Then
Sheets("Tabelle2").Cells(rng.Row, 3).Copy_
Destination := Sheets("Tabelle1").Cells(rng.Row, 3)
Sheets("Tabelle2").Cells(rng.Row, 4).Copy_
Destination := Sheets("Tabelle1").Cells(rng.Row, 4)
End if
Next rng
End Sub
https://www.herber.de/bbs/user/101660.xlsx
Vielen Dank für eure Hilfe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
So?
20.11.2015 19:55:48
Michael
Hi Markus,
das Makro setzt voraus, daß in Tabelle2 eine Hilfsspalte vorhanden ist, die die Werte von A und B zusammenfaßt, also etwa aus "Deutschland" und "A" dann "DeutschlandA". Ich habe die mal in H wie Hilf geschrieben.
Dann isses easy, mit .find in die richtige Zeile zu springen und die Werte zu kopieren.
Das Makro:
Option Explicit
Sub kopieren()
Dim rng As Range, zelle As Range
Dim suchen As String
Dim T2max As Long
T2max = Tabelle2.Range("A" & Rows.Count).End(xlUp).Row
For Each rng In Sheets("Tabelle1").Range("A2", Cells(Rows.Count, 1).End(xlUp))
suchen = rng.Value & rng.Offset(, 1).Value
With Tabelle2
Set zelle = .Range("H2:H" & T2max).Find(suchen, LookIn:=xlValues)
If Not zelle Is Nothing Then
.Range("C" & zelle.Row).Resize(1, 2).Copy _
Sheets("Tabelle1").Range("C" & rng.Row)
Else
Sheets("Tabelle1").Range("E" & rng.Row) = "n.v."
End If
End With
Next rng
End Sub
Die Datei: https://www.herber.de/bbs/user/101684.xlsm
Happy Exceling,
Michael

Anzeige
AW: So?
23.11.2015 22:08:50
Markus
Hallo Michael,
super, vielen Dank für deine Hilfe :)
Noch eine Frage, geht sowas auch, wenn die Daten in Tabelle 2 aus einer Matrix ausgelesen werden (siehe Anhang)?
https://www.herber.de/bbs/user/101759.xlsx
Danke für die Mühe.

Ähnliche Logik
24.11.2015 14:58:50
Michael
Hi Markus,
geht so ähnlich: https://www.herber.de/bbs/user/101769.xlsm
Ich habe nur das vorhandene Makro aufgebohrt auf 2 Hilfsspalten.
Ob das so sinnvoll ist, hängt davon ab, wie groß die Matrix letztlich ist: ob es viele Spalten werden können, ob Länder doppelt vorkommen können usw., um wie viele Daten es insgesamt geht.
Schöne Grüße,
Michael

Anzeige
AW: Ähnliche Logik
24.11.2015 22:39:32
Markus
Hi Michael,
erstmal vielen Dank für deine Hilfe.
Ich habe mich leider etwas falsch ausgedrückt - mir ging es darum, die Werte (grün hinterlegt) aus der Tabelle 2 (Land - Produktgruppe) auszulesen. In Tabelle 1 sind die Spalten A (Land) und Spalte B (Produktgruppe) gegeben und in Spalte C sollen dann die entsprechenden Daten aus Tabelle 2 eingetragen werden.
Ich habe versucht dein Makro anzupassen, jedoch ohne Erfolg. Wäre sehr nett, wenn du mir da helfen könntest.
https://www.herber.de/bbs/user/101782.xlsx
Dankeschön

Anzeige
Knick in der Logik
25.11.2015 19:35:30
Michael
Hi Markus,
ich habe mir Deinen allerersten Beitrag noch mal angesehen.
Da ist ein logisches Problem in der Fragestellung, was die neueste Datei (101782) angeht.
Du möchtest, daß Länder und Produktgruppe aus Tabelle1 verwendet wird, um "Treffer" in Tabelle2 zu finden. So weit, so gut, nur: Wenn in Tabelle1 *mehrmals gleiche* Werte stehen wie "Frankreich" und "Produktgruppe1", woher soll Excel dann bitte wissen, welcher "Treffer" zu welcher Zeile gehört?
Da ist dann keine "eindeutige" Zuordnung möglich.
Das ganze Problem kommt mir etwas aus dem Zusammenhang gerissen vor. Um Dir wirklich helfen zu können, müßte man das Große, Ganze kennen.
Draufgekommen bin ich überhaupt erst, weil ich Dir ne Lösung ohne VBA anbieten wollte;
Datei anbei: https://www.herber.de/bbs/user/101806.xlsx
Die liefert nämlich (logisch richtig) bei zweimal den gleichen Kriterien zweimal den gleichen Wert - nämlich den, der als erstes gefunden wird.
Schöne Grüße,
Michael

Anzeige
AW: Knick in der Logik
26.11.2015 15:02:19
Markus
Hi Michael,
habe mir deine Datei angeschaut - Super, so wollte ich es haben :)
Danke für deine Hilfe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige