Office - Word, Excel und Co. 9.753 Themen, 41.598 Beiträge

Spaltenbereiche in Excel automatisch selektieren

Kolti / 3 Antworten / Baumansicht Nickles

Ich habe mir ein VBA-Makro in Excel geschrieben, um Kopiervorgänge und Textumsetzungen in HTML zu automatisieren. Den Code habe ich Buttons zugeordnet, damit es nur noch auf Klick passiert.

Das Ergebnis dieser HTML-Geschichte steht in einem Spaltenbereich, der je nach Eingabe eine verschiedene Größe haben kann.
Diesen Bereich muß ich kopieren.

Range("D5:D10").Select bis Range("D5:D30").Select

Das sind die möglichen. Nun wäre es prima, wenn man das Ende des Bereichs mit einer Variablen versehen könnte.

Außer die Case-Funktion zu benutzen ist mir nichts Besseres eingefallen.
Ideal wäre: Range("D5:D(X)").Select, da ich wegen der Case-Anweisung ja vorher den notwendigen Bereich ermittelt habe.

bei Antwort benachrichtigen
hw.schmidt Kolti „Spaltenbereiche in Excel automatisch selektieren“
Optionen

Hallo Kolti

Range("D5:D"&cells(65536,4).End(xlUp).Row).select 'D=4

Tschüs H.W

bei Antwort benachrichtigen
Kolti hw.schmidt „Hallo Kolti Range D5:D cells 65536,4 .End xlUp .Row .select D 4 Tschüs H.W“
Optionen

Erstmal Danke für Deine Antwort.
Diese Methode ist schon mal nicht schlecht, funktioniert bei aber nicht richtig.
Das liegt daran, daß in dem Bereich D5:D29 schon Formeln drin stehen.
So selektiert er grundsätzlich immer bis D29.

Was ich mache:
In der Spalte A befinden sich laufende Nummern von 1 bis maximal 25.
In Spalte B befinden sich Interpreten und in der Spalte C deren Lieder.
Sobald in den Zeilen der Spalte C Lieder drinstehen, erscheint in Spalte D die entsprechende Info in HTML-Code, um eine Webseite damit zu beliefern.

Beispiel des Ergebnisses:
<LI><FONT face=Arial><STRONG>Kolti -- Mein Lied </STRONG></FONT>

Es muß also eine Funktion sein, die den Bereich ermittelt, ohne die Formeln zu berücksichtigen.


Die Formel:
=WENN(C8="";"";"<LI><FONT face=Arial><STRONG>"&B8&" -- "&C8&" "&"</STRONG></FONT>")

bei Antwort benachrichtigen
Kolti Nachtrag zu: „@H.W.“
Optionen

Durch Dein Posting habe ich für mich die Lösung gefunden.
Ich darf nicht die Sache von hinten aufrollen (end(xlUp)), sondern muß von oben anfangen.
Ich weiß ja, wie weit ich selektieren muß, daher ist meine Lösung nun:

Range("D5:D" & Cells(i, 4).Row).Select

Danke Dir.

bei Antwort benachrichtigen