Wie kann ich die letzte befüllte Spalte einer Tabelle in die nächste leere Spalte kopieren?

Hallo zusammen,

ich habe mal wieder eine Frage.

Ich habe eine Tabelle,die aus 15 Zeilen und immer forlaufend generierten Spalten besteht. Die Spalten sind mit der KW Nummer (Wochennummer) beschriftet. Ich muss diese Tabelle jede Woche aktualisieren. Dazu lesen ich aus einer Datenbasis über Formeln Werte ein. Ich möchte nun mit einem Makro die letzte Spalte mit Wert in der Tabelle mit samt den Formeln in die nächste leere Spalte kopieren. Dann möchte aus der vorletzten Spalte die Formeln entfernen. Ich habe schon überall gesucht, aber leider noch nichts gefunden. Ich hoffe Ihr könnt mir helfen.

Vielen Dank schon einmal im voraus.

Martina

Hallo Martina

Sub Makro1()
Range("A1").Select
cEnd = Selection.End(xlToRight).Column
Columns(cEnd).Copy Destination:=Cells(1, cEnd + 1)
Columns(cEnd).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False
Cells(1, cEnd + 1).Select
End Sub

Vielleicht hilft Dir das: Es kopiert, wie Du es beschreibst, die zuletzt benutzte Spalte in die nächste Spalte (mit Werten und Formeln) und ersetzt in der vorletzten Spalte (Woche 25) alle Formeln durch die entsprechenden Werte.

Zu beachten ist:

  • In der Zeile 1 darf es keine leeren Zellen geben (zumindest bis zur letzten Woche hin).
  • Kopiert und ersetzt werden die ganzen Spalten. Wenn es nur die ersten 15 Zeilen sein dürfen, müsste man das Makro anpassen.

Grüsse Niclaus

Hallo Niclaus,

vielen Dank für Deine Mühe. Das ist genau das, was ich gesucht habe. Funktioniert wunderbar.

VG Martina