Clever-Excel-Forum

Normale Version: Funktion: Jeder 3. Eintrag in einer Spalte 1 Zeile höher
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

seit Jahren klicke ich mich dusselig, wenn ich neue VG Wort Marken bestellt habe. Ich schicke ein Beispiel der CSV, die man von denen bekommt, mit.

Für meinen Arbeitsablauf brauche ich immer den Identifikationscode (in Spalte C) in der gleichen Reihe wie den Code in Spalte B. Also muss diese Zahlenkombi in Spalte C jeweils immer eine Zeile hoch. Ich kenne mich aber leider überhaupt nicht mit Funktionen aus, sodass ich das immer hunderte Male händisch machen muss.

Seid ihr so nett und könnt mir helfen? Das wäre großartig!

Danke im Voraus!
Hallo,

sehr wahrscheinlich kann man das mit VBA lösen, aber es wäre besser eine xl-Datei mit "ist" und "soll", also vorher und das Wunschergebnis, hochzuladen.

mfg
Hallo Fennek,

kla,r kein Problem, anbei im Anhang. Ich habe gelb markiert, worum es geht.

DANKE!!
Hallo milan,

probiere es mal mit folgendem Code:
Sub ID_eins_hoch()
 Dim rngA As Range
 Set rngA = Columns(1).SpecialCells(xlCellTypeConstants)
 rngA.Offset(0, 2).Value = rngA.Offset(1, 2).Value
 rngA.Offset(1, 2) = ""
End Sub
Gruß Uwe
Hallo Uwe,

großartig, vielen Dank. Musste zwar erstmal googeln, wie und wo ich das überhaupt eintrage und ausführe, aber man wächst ja bekanntlich mit den Aufgaben. ;)

Vielen Dank für deine schnelle Hilfe! Das werde ich zukünftig noch oft brauchen.

Edit: Ach nein, KORREKTUR:
Das Makro setzt immer den gleichen Buchstaben-Zahlen-Code an die Stelle in der Spalte eins höher. Aber diese privaten Identifikationscode sind ja immer unterschiedlich. Hast du noch einen Tipp bzw. ein überarbeitetes Makro für mich?


Danke!!

VG

Milan
Hier noch ein Bild mit dem "Problem":

[img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Hallo Milan,

ja, Du hast recht. So geht es aber richtig:
Sub ID_eins_hoch()
 Dim rngA As Range, rngZ As Range
 Set rngA = Columns(1).SpecialCells(xlCellTypeConstants).Offset(1, 2)
 Application.ScreenUpdating = False
 For Each rngZ In rngA
   rngZ.Cut rngZ.Offset(-1)
 Next rngZ
 Application.ScreenUpdating = True
End Sub
Gruß Uwe
Ja, jetzt klappts.

Nochmals vielen Dank!! :23: