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 Fabian,

wenn du wirklich in Tabelle1 und Tabelle2 die beiden Spalten A+B vollkommen leer hast, dann so:
Ich verwende .Usedrange, in die Variable Tab1 und Tab2 wird damit der Bereich C1:Q8 genommen.
Sollte in den Spalten A+B doch Inhalt stehen, der zwar für deinen Wunsch hier im Forum nicht relevant ist, aber dennoch da, wirds nicht funktionieren!


Sub teemutainio()
Tab1 = Tabelle1.UsedRange
Tab2 = Tabelle2.UsedRange
j = 2
For i = 1 To UBound(Tab1)
If Tab1(i, 1) = "nein" Then
    For k = 1 To 13
    Tabelle3.Cells(j, k) = Tab1(i, k + 2)
    Next k
    j = j + 1
End If
If Tab2(i, 1) = "nein" Then
    For k = 1 To 13
    Tabelle3.Cells(j, k) = Tab2(i, k + 2)
    Next k
    j = j + 1
End If
Next i
End Sub
Schade, in den ersten beiden Spalten steht tatsächlich etwas, dies ist jedoch für das Tabellenblatt "Vergleich" unrelevant.

Trotzdem vielen Dank für deine Mühen!
Hi Fabian,

das ist aber leicht von dir selbst abzuändern.
In der Zeile:
If Tab1(i, 1) = "nein" Then
ändern in 
If Tab1(i, 3) = "nein" Then
Tab2 analog

und
Tabelle3.Cells(j, k) = Tab1(i, k + 4)
Tabelle3.Cells(j, k) = Tab2(i, k + 4)
anstelle von
Tabelle3.Cells(j, k) = Tab1(i, k + 2)
Tabelle3.Cells(j, k) = Tab2(i, k + 2)

(...zwingend den selben Aufbau...)
duck un wech
Hallo Wastl,

das hat soweit geklappt, vielen Dank!

Nur zieht er sich nur das erste "nein" in das Tabellenblatt "Vergleich", danach bekomme ich die Fehlermeldung "Index außerhalb des gültigen Bereichs". Woran könnte das liegen?
Jetzt hat er geklappt. Nochmal vielen, vielen Dank!
Hallo zusammen,
 
es ist doch noch ein kleines Problem aufgetreten.
 
Mithilfe des VBA-Codes von Wastl werden die Veränderungen nun wie gewünscht in das Tabellenblatt „Vergleich“ kopiert. Nun hätte ich gerne, dass die Tabelle im Blatt „Vergleich“ nach bestimmten Spalten sortiert ist. Dies habe ich zunächst einfach über Daten à Sortieren gemacht, was auch geklappt hat. Wenn ich nun aber die Rohdaten update und den Makro neu laufen lasse, geht die Sortierung leider verloren.
 
Habt ihr eine Idee, wie ich das Problem lösen kann? Muss das über VBA laufen?
 
BG
Fabian
Hi Fabian,

zeichne dein Sortieren doch mal mit dem Makrorekorder auf und poste den aufgenommenen Code hier.
Das kann man dann sicherlich noch mit einbauen.
Hallo Wastl,

ich hoffe es ist das, was du meintest:

Code:
Sub Makro3()
'
' Makro3 Makro
'

'
   Range("A1").Select
   ActiveWorkbook.Worksheets("Vergleich").AutoFilter.Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("Vergleich").AutoFilter.Sort.SortFields.Add Key:= _
       Range("E2:E211"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
       :=xlSortNormal
   ActiveWorkbook.Worksheets("Vergleich").AutoFilter.Sort.SortFields.Add Key:= _
       Range("F2:F211"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
       :=xlSortNormal
   ActiveWorkbook.Worksheets("Vergleich").AutoFilter.Sort.SortFields.Add Key:= _
       Range("A2:A211"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
       :=xlSortNormal
   With ActiveWorkbook.Worksheets("Vergleich").AutoFilter.Sort
       .Header = xlYes
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
End Sub
BG
Fabian
Hi teemutainio,

perfekt,

dein erster - aufgezeichneter Befehl lautet:
Code:
Range("A1").Select
Den lässt du weg.
Alles darunter bis vor dem End Sub kopierst du in mein Makro unterhalb von next i, also zwischen next i und End sub.
Alles klar?
Bei Schwierigkeiten (hoffe ich nicht) poste mal den ganzen von dir jetzt erstellten Code
Hat geklappt, besten Dank!
Seiten: 1 2