rabbit81

Zwei Spalten vergleichen und wenn nicht gleich dann nach unten verschieben

Hallo,
ich habe hier schon viele gute Infos im Forum gefunden, aber zu meinem Anliegen finde keine passende Lösung. (bitte nicht steinigen)
Da ich in Basic ein abzoluter Frischling bin, wende ich mich nun an euch.

Mein Anliegen:

Ich habe eine Tabelle (.xls) in der ich 5 Spalten habe (A-G)
Nun habe ich aus 2 unterschiedlichen Quellen Artikelnummern, welche ich vergleichen muss. In Spalte B stehen jedoch mehr Art.Nr. als in Spalte F und in Spalte G steht die Bezeichnung.
Wie bekomme ich es hin, dass er bei ungleichen Zahlen immer F und G nach unten verschiebt?

Beispiel:
0 B F G
1 Art.Nr Art.Nr Bezeichnung
2 1 1 Nagel
3 2 3 Hammer
4 3 4 Dübel
5 4 5 Schraube
6 5

Wenn B2 nicht die gleiche Zahl hat wie F2, dann verschiebe Zelle F2 und G2 nach unten und gehe zur nächsten Zeile.

Ich hoffe ihr versteht was ich geschrieben habe und danke euch für die Mühe mir zu helfen.

Rabbit81
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 284387

Url: https://administrator.de/forum/zwei-spalten-vergleichen-und-wenn-nicht-gleich-dann-nach-unten-verschieben-284387.html

Ausgedruckt am: 10.05.2025 um 16:05 Uhr

colinardo
Lösung colinardo 01.10.2015, aktualisiert am 02.10.2015 um 09:34:18 Uhr
Goto Top
Hallo Rabbit81,
wenn es sich um Excel VBA handelt (Dafür haben wir den Bereich ), kannst du dies mit diesem Makro erreichen:
Sub CompareAndMove()
    Dim cell As Range
    Application.CutCopyMode = False
    With ActiveSheet
        For Each cell In .Range("B2:B" & .Cells(Rows.Count, "B").End(xlUp).Row)  
            If cell.Value <> cell.Offset(0, 4).Value and cell.Offset(0, 4).Value <> "" Then  
                cell.Offset(0, 4).Resize(1, 2).Insert xlShiftDown
            End If
        Next
    End With
End Sub

Das hatten wir in ähnlicher weise auch schon in anderen Threads. Für den Fall das die Zuordnung mal durcheinander sein sollte, und nicht immer in aufsteigender Reihenfolge, guckst du in diese Threads:

Grüße Uwe
Rabbit81
Rabbit81 02.10.2015 aktualisiert um 08:24:45 Uhr
Goto Top
Guten Morgen Calinardo,
leider funktioniert dein Code nicht ganz bei mir, denn sobald ich ihn einfüge und dann laufen lasse verschiebt er mir
nur die Spalte F und G nach unten. Das macht er von Anfang an und das endlos.
Die Zahlen dieser Spalte sind jedoch gleich, also müsste er in die nächste Spalte springen.

Gruss Rabbit81
colinardo
colinardo 02.10.2015 aktualisiert um 09:08:37 Uhr
Goto Top
Zitat von @Rabbit81:
leider funktioniert dein Code nicht ganz bei mir, denn sobald ich ihn einfüge und dann laufen lasse verschiebt er mir
nur die Spalte F und G nach unten. Das macht er von Anfang an und das endlos.
Die Zahlen dieser Spalte sind jedoch gleich, also müsste er in die nächste Spalte springen.

Ich zitiere:
... Dann verschiebe Zelle F2 und G2 nach unten

Zahlen dieser Spalte sind jedoch gleich, also müsste er in die nächste Spalte springen.

Das tut er auch! Das macht mein Code problemlos für alle belegten Zellen in Spalte B2:BX, kann dir gerne ein Demo-Sheet zur Verfügung stellen, läuft einwandfrei ...
Ansonsten hast du etwas von deinem Sheet verschwiegen, oder die Nummern sind nicht exkat gleich, z.B. ein nicht sichtbares Leerzeichen verhindert die Funktion.

Oder poste dein Sheet anonymisiert dann ist das in null Komma nix geklärt!

Aber ich sehe der Thread ist gelöst, dann hat sich das ja bei dir aufgeklärt.

Grüße Uwe
Rabbit81
Rabbit81 02.10.2015 aktualisiert um 09:34:07 Uhr
Goto Top
Hallo Colinardo,

Du hast recht der Code funktioniert face-smile
ich habe in der Spalte F in jeder Zelle ein kleiner grünes Dreieck oben links stehen. Was das zu bedeuten hat finde ich noch heraus, aber das ist der Grund wieso es nicht bei mir funktioniert hat.

Edit: Problem gelöst

Vielen Danke