Clever-Excel-Forum

Normale Version: 2 Tabellen zusammenkopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

Ich habe ein Problem mit anliegender Datei.
 
In Tabellenblatt 1 und 2 ist jeweils eine identisch aufgebaute Tabelle, wo in Spalte A entweder ja oder nein steht.
 
Tabellenblatt „Vergleich“ würde ich jetzt gerne so verformeln, dass wenn in Tabellenblatt 1 oder 2 in Spalte A ein „nein“ steht, die komplette Zeile ab Spalte C in das Tabellenblatt „Vergleich“ kopiert wird.
 
Habt ihr da eine Idee? Ich hoffe, ihr versteht mein Problem.
 
BG
Fabian
Hallo,

bringe beide Tabellen auf ein Blatt und filtere nach nein.
Hallo Klaus-Dieter,

das wäre meine Notlösung. Ich dachte nur, dass sich das auch vielleicht automatisieren lässt..

BG
Fabian
Hallo Fabian,

wozu automatisieren, wenn das ein einmaliger Vorgang ist?
Die Tabellen werden monatlich erneuert und miteinander verglichen.

Ziel wäre es, lediglich die Rohdaten upzudaten, dass die Excel die Berechnungen automatisch vornimmt und das neue Tabellenblatt automatisch erstellt.
Hallo,

wieso zwei Tabellen, gleichartige Daten gehören auf ein Tabellenblatt.
Hi,

mit VBA wäre das eine Möglichkeit:

Sub teemutainio()
Tab1 = Tabelle1.UsedRange
Tab2 = Tabelle2.UsedRange
j = 2
For i = 1 To UBound(Tab1)
If Tab1(i, 1) = "nein" Then
    For k = 3 To 8
    Tabelle3.Cells(j, k - 2) = Tab1(i, k)
    Next k
    j = j + 1
End If
If Tab2(i, 1) = "nein" Then
    For k = 3 To 8
    Tabelle3.Cells(j, k - 2) = Tab2(i, k)
    Next k
    j = j + 1
End If
Next i
End Sub
Hallo Wastl,
 
das sieht vielversprechend aus. Ich versuche als VBA-Noob das Ganze gerade auf meine Originaldatei anzuwenden. Hierbei sind folgende Fragen aufgekommen:
 
j = 2 à Das steht für die Anzahl der Tabellen, die ich zusammenführen möchte, oder?
If Tab1(i, 1) = "nein" Then à Die 1 steht für die Spalte, in der sich die Bedingung befindet?
Tabelle1.Cells(j, k - 2) = Tab1(i, k) à Was sagt diese Zeile genau aus?
j = j + 1 à Same here, was sagt das genau aus?
 
BG & Danke,
Fabian
Hi

Zitat:j = 2 à Das steht für die Anzahl der Tabellen, die ich zusammenführen möchte, oder?
nein. Die j steht für die Zeile, die in Vergleich zu schreiben ist. ich muss beim schreiben immer eine jeweils eine Zeile nach unten rücken.
Zitat:If Tab1(i, 1) = "nein" Then à Die 1 steht für die Spalte, in der sich die Bedingung befindet?
ja
Zitat:Tabelle1.Cells(j, k - 2) = Tab1(i, k) à Was sagt diese Zeile genau aus?
Diese zeile haste nicht von mir, bei mir steht da "Tabelle3.Cells(j, k - 2) = Tab2(i, k)" und Tabelle3 = Vergleich deiner Beispielmappe
Ich habe drüber eine for next schleife, die mit 3 beginnt und mit 8 endet for k=3 to 8
  • Tabelle3.Cells(j, k - 2)=Spalte A in Vergleich
  • Tab1(i,k)=Spalte C in Tabelle1 (beim ersten Durchlauf der Schleife)
Zitat:j = j + 1 à Same here, was sagt das genau aus?
hier wird die Ausgabezeile um 1 hochgezählt, damit sie leer ist für den nexten Treffer, siehe auch erstes Zitat

Ich fürchte, deine Beispieltabelle hat nicht - wie  zwingend gefordert - den selben Aufbau wie die Originaltabelle
Huh
Leider hast du Recht, das war mein Fehler.

Die Originaltabelle ist aufgebaut wie anbei.

BG
Fabian
Seiten: 1 2