Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Tabellen vervollständigen





Frage

Hi Leute! Ich habe mehrere Tabellen mit ner Art Inhaltsverzeichnis. In Tabelle1 ist der Inhalt komplett, in Tabelle2 fehlen einige Punkte, in Tabelle3 fehlen ein paar andere Punkte usw. Ich weiß nicht welcher Punkt in welcher Tabelle fehlt, ausserdem ist es jedesmal anders wenn ich die Tabelle bekomme. Jetzt wollte ich mir ein Makro schreiben, welches die einzelnen Inhaltsverzeichnisse mit dem gesamten vergleicht und da wo ein Eintrag fehlt dann eine Leerzeile einfügt, dass ich dann das gesamte Inhaltsverzeichnis dort übernehmen kann (Ich muss die dann untereinander vergleichen und auswerten und dazu muss alles in der gleichen Zeile stehen, da ja sonst die Werte nicht stimmen) Und das ist jetzt der Punkt wo ich nicht weiterkomme. Hab zwar einiges gefunden wie man ganze Spalten vergleichen kann und die gleichen dann farbig markiert, aber dass man fehlende ersetzt das hab ich noch nicht gefunden ... Würde mich also freuen wenn mir jemand einen Denkanstoß verpassen könnte.

Antwort 1 von Saarbauer

hallo,

Ist nicht ganz verständlich, könntest du ein Beispiel zur Verfügung stellen.

Sonst seh hier mal nach

https://supportnet.de/threads/2137372

ähnliches Problem, vielleicht auch passender Lösungsansatz

Gruß

Helmut

Antwort 2 von tomham

Hi Helmut, ist leider nicht das was ich gesucht habe ...

Hab mir aber jetzt übers Wochenende selber was in VBA geschrieben was auch funktioniert ...
Voraussetzung dafür ist ein komplettes "Inhaltsverzeichnis", von dem man abgleichen kann ("VglInh").

Verglichen wird Spalte B ab Zeile 3 bis zum Ende des Inhaltsverzeichnisses (egal wieviele Zeilen da sind)
Einfach in dem jeweiligen Blatt ausführen in dem man den Gesamtinhalt haben will.



Sub Inhalt()

    Dim zg
    For zg = 3 To Range("B" & Rows.count).End(xlUp).Row
        sg = "B" & zg
        If Range(sg).Value <> Sheets("VglInh").Range(sg).Value Then
            Range(zg & ":" & zg).Select
            Selection.Insert Shift:=xlDown
            Range(sg).FormulaR1C1 = Sheets("VglInh").Range(sg).Value
            Range("A1").Select
        End If
    Next zg

End Sub



Antwort 3 von Saarbauer

Hallo

Sub Inhalt()
    Dim zg
    For zg = 3 To Range("B" & Rows.Count).End(xlUp).Row
        If Range("B" & zg).Value <> Range("VglInh!B" & zg).Value Then
            Range(zg & ":" & zg).Select
            Selection.Insert Shift:=xlDown
            Range("B" & zg).Value = Range("'VglInh'!B" & zg).Value
        End If
    Next zg
End Sub


Versuch es mal so

Gruß

Helmut