rabbit81
Goto Top

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

Content-Key: 284387

Url: https://administrator.de/contentid/284387

Printed on: April 18, 2024 at 05:04 o'clock

Member: colinardo
Solution colinardo Oct 01, 2015, updated at Oct 02, 2015 at 07:34:18 (UTC)
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
Member: Rabbit81
Rabbit81 Oct 02, 2015 updated at 06:24:45 (UTC)
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
Member: colinardo
colinardo Oct 02, 2015 updated at 07:08:37 (UTC)
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
Member: Rabbit81
Rabbit81 Oct 02, 2015 updated at 07:34:07 (UTC)
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