2 Tabellen zusammenkopieren
#1
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


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 13,62 KB / Downloads: 9)
Top
#2
Hallo,

bringe beide Tabellen auf ein Blatt und filtere nach nein.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#3
Hallo Klaus-Dieter,

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

BG
Fabian
Top
#4
Hallo Fabian,

wozu automatisieren, wenn das ein einmaliger Vorgang ist?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#5
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.
Top
#6
Hallo,

wieso zwei Tabellen, gleichartige Daten gehören auf ein Tabellenblatt.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#7
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
Top
#8
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
Top
#9
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
[-] Folgende(r) 1 Nutzer sagt Danke an Wastl für diesen Beitrag:
  • teemutainio
Top
#10
Leider hast du Recht, das war mein Fehler.

Die Originaltabelle ist aufgebaut wie anbei.

BG
Fabian


Angehängte Dateien
.xlsx   Beispiel.xlsx (Größe: 14,08 KB / Downloads: 4)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste