22.05.2018, 08:15 (Dieser Beitrag wurde zuletzt bearbeitet: 22.05.2018, 09:07 von WillWissen.
Bearbeitungsgrund: Formatierung
)
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.
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
22.05.2018, 10:57 (Dieser Beitrag wurde zuletzt bearbeitet: 22.05.2018, 10:58 von Wastl.
Bearbeitungsgrund: Ergänzung
)
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
Folgende(r) 1 Nutzer sagt Danke an Wastl für diesen Beitrag:1 Nutzer sagt Danke an Wastl für diesen Beitrag 28 • teemutainio