Frage von kim3001, 24

Wie lassen sich Excelspalten vergleichen und verschieben in VBA bei partieller Übereinstimmung?

Hallo zusammen, ich versuche zwei Excelspalten zu vergleichen. Unterscheiden sie sich, sollte der Rest der Spalte nach unten geschoben werden. Es können in beiden Spalten Unterschiede vorkommen. In Spalte 2 ist immer ein Zusatz dabei, habe da somit das versucht : Pos = InStr(1, Spalte2, Spalte1, CompareMethod.Text)

Komme leider mit der Logik des Verschiebens nicht klar.

  • Hier ein Beispiel:
  • SPALTE
  • 1 | 2
  • aa | aaz
  • bb | bba
  • vv | ccg <-- hier wird die Spalte 2 nach unten geschoben
  • cc | dde
  • dd | eel
  • gg | ffi <-- hier wird die Spalte 1 nach unten geschoben
  • hh | ggv
  • ii | hho

Ich freue mich über Hilfe :) LG Katharina

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 17

Das sieht mir zunächst nicht wie ein VBA-Problem aus. Du hast es geschrieben. Du kommst mit der Logik des Verschiebens nicht klar.

Wann soll denn die erste Spalte nach unten verschoben werden und wann die zweite und wie kann ein Programm das unterscheiden?
Mit dem Auge sieht man, dass wenn man bei deiner zweiten Markierung die erste Spalte um zwei Zellen nach unten schiebt, dass dann gg neben ggv steht, aber das Programm benötigt eine Verfahrensregel.

Ich würde es erstmal so machen, dass du nur eine der beiden Spalten verschiebst und du dich so der Lösung näherst.

Kommentar von kim3001 ,

Danke, habe es nun anders gelöst: statt verschieben Ordne ich die Zeilen (temporär in einer anderen Spalte) den entsprechenden Einträgen zu.

Kommentar von Suboptimierer ,

Mann muss nichts wissen, nur wie man sich helfen kann. Topp!

Antwort
von mirolPirol, 17

Das kannst du nur mit einem Macro lösen. Das ist gar nicht schwer. 

Öffne mal so eine (möglichst kleine) Beispieldatei und gehe auf Extras, Macros, Macro aufzeichnen. Dann bearbeitest du sie so, wie sie am Ende aussehen soll. Nun beendest du das Macro und siehst dir den VBA-Quelltext an. Damit das macro allgemeingültig wird und immer wieder auf neue Tabellen angewendet werden kann, muss es etwas angepasst werden, es hilft also, sich etwas in VBA einzuarbeiten.

Kommentar von kim3001 ,

Danke, hat mir auf jeden Fall einiges erleichtert :)

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten