Clever-Excel-Forum

Normale Version: Makrorekorder optimieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen mir es geht um folgenden Code, den ich über den Makrorecorder aufgenommen habe:

Range("B1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy

ich will in spalte B alles bis zur letztbeschriebenen Zelle kopieren.

Am besten wäre es wenn hierfür keine Variable vordefiniert werden müsste, weil ich jetzt schon nicht mehr durchblicke in meinem Gesamtcode.

Grüße
Ilyas

EDIT!!!

falls jemand schon nach einem Lösungsansatz sucht, dann tut es mir Leid!

Ich sehe gerade, dass mein Makro nur bis zur nächste beschriebenen Zelle alles kopiert. Dies reicht allerdings nicht.
Wie in der Erklärung auch erläutert muss bis zur letzten beschriebenen Zelle alles kopiert werden.


Hintergrund ist, dass mehrere Tabellen untereinander aufgebaut werden müssen. Wenn ich die komplette Spalte kopiere ((columns A:A).copy) überschreite ich die maximale Anzahl an möglichen Feldern.
In einem nächsten Schritt müsste ich das richtige Feld finden, in der mein Zwischenspeicher eingefügt werden soll. Hier müsste ich wieder die letzte beschriebene Zelle einer Spalte finden und das kopierte darunter einfügen. Dies ist allerdings ein ferneres Ziel.
Hallo,
Range(Cells(1, 2), Cells(Rows.Count, 2).End(xlUp)).Copy
Gruß Uwe
Hallo,


Zitat:Hintergrund ist, dass mehrere Tabellen untereinander aufgebaut werden müssen.

sagt wer? Das gehört zu den Arbeitsweisen, die man auf jeden Fall unterlassen sollte.
Hi,

Code:
Option Explicit

Sub ZuletztBeschriebeneZelleInSpalteA()
    'gut leserliche Schreibweise
    With ActiveSheet
        MsgBox .Cells(.Rows.Count, "A").End(xlUp).Row
    End With
    'performantere Schreibweise
    With ActiveSheet
        MsgBox .Cells(.Rows.Count, 1).End(xlUp).Row
    End With
    'die nächste freie Zelle unter der zuletzt beschriebenen
    With ActiveSheet
        MsgBox .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Row
    End With
End Sub
PHP-Code:
Sub M_snb()
  columns(2).specialcells(2).copy
End Sub