Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

VBA: Zellbereich markieren und rechte Zelle aktiveren

Forumthread: VBA: Zellbereich markieren und rechte Zelle aktiveren

VBA: Zellbereich markieren und rechte Zelle aktiveren
13.11.2025 09:57:40
Claus Gunther
Hallo zusammen,

Ich möchte in Excel mit VBA einen Zellbereich markieren und dann die rechte Zelle aktiveren und in diese Zelle einen Text hinterlegen.

Den Zellbereich kann ich in VBA markieren mit (hab ich hier im Forum gefunden):

Public Sub NachRechtsMarkieren()
With ActiveSheet
.Range(.Cells(ActiveCell.Row, ActiveCell.Column), .Cells(ActiveCell.Row, _
.Cells(ActiveCell.Row, Columns.Count).End(xlToLeft).Column)).Select
End With
End Sub

Nur wie kann ich anschließend dann dynamisch immer die rechte Zelle aktivieren?

Für Eure Hilfe wäre ich dankbar.

Grüße

Anzeige
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
13.11.2025 10:34:18
Piet
Hallo

amüsant, dein Code funktioniert, trotz einem kleinen aber entscheidenem Schönheitsfehler!
Vor Columns.Count gehört bitte noch ein Punkt! Das spielt bei ActiveSheet KEINE Rolle!
Führt aber zu einem Fehler, wenn du bei With ein -anderes Sheet- angibst!

Ich bevorzuge Zeilen und spalten in Variable zu laden. Der Code wird übersichtlicher.
Mit lz (LastZell) kannst du den Code auch beliebig nach unten verlängern!
Die Zelle aktivieren geht nach Select mit dem Befehl "Activate"

mfg Piet

Sub test()

Dim z, s, lz, lsp 'Zeile, Spalte, LastZeile, LastSpalte
z = ActiveCell.Row
s = ActiveCell.Column
lz = Cells(Rows.Count, s).End(xlUp).Row
lsp = Cells(z, Columns.Count).End(xlToLeft).Column
Range(Cells(z, s), Cells(lz, lsp)).Select
Cells(z, lsp).Activate '** hier wird die Zelle rechts aktiviert!
End Sub
Anzeige
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
13.11.2025 11:08:57
Claus Gunther
Hallo Piet,

der Code funktioniert super.

Ich habe noch eine Frage. Es kommt vor das in dem Bereich leere Zellen sind. Kann über VBA berücksichtigt werden das der Zellbereich erst endet wenn mehr als zwei Zellen
leer sind.

Beispiel:

LEER = Leere Zelle

Laser-Endscheibenbeschriftung:LEER 0,66 € EUR LEER 0,005 H 2205 2054750 47502601 2261 LEER 131,44 € 1 LEER LEER

Der markierte Bereich wäre dann:
Laser-Endscheibenbeschriftung:LEER 0,66 € EUR LEER 0,005 H 2205 2054750 47502601 2261 LEER 131,44 € 1
Anzeige
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
13.11.2025 10:36:50
Ulf
Hi,
~ so
ActiveSheet.Range(.Cells(ActiveCell.Row, ActiveCell.Column),  _

.Cells(ActiveCell.Row, .Cells(ActiveCell.Row, Columns.Count).End(xlToLeft).Column)). _
SpecialCells(xlCellTypeLastCell).Select

hth
Ulf
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
13.11.2025 11:22:23
Piet
Hallo

das macht der Code doch schon, er sucht immer die letzte BEFÜLLTE ZELLE.

mfg Piet
Anzeige
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
13.11.2025 11:50:44
Claus Gunther
Hallo Piet,

da hast du Recht, ich hab nicht in vollem Umfang getestet.

Nur eins noch: kannst du den Code so schreiben das immer nur innerhalb der aktiven Zeile markiert wird. Immer nur von Links nach Rechts,
und nicht die Spalten nach unten oder oben noch dazu . Die Spalten brauche ich in diesem Fall nicht.

Vielen Dank im Voraus
Anzeige
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
13.11.2025 11:36:40
daniel
Hi
beispielsweise so:
Public Sub NachRechtsMarkieren()

Range(ActiveCell, ActiveCell.End(xltoleft)).Select
Selection(Selection.Cells.Count).Activate
ActiveCell.Value = "Dein Text"
End Sub


Gruß Daniel


AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
15.11.2025 11:18:34
Piet
Hallo

Der Code von Daniel klappt sicher. Bei mir kleine Änderung.
Ersetzte bitte bei Cells "lz" durch "z". Dann klappt es da auch.
Range(Cells(z, s), Cells(z, lsp)).Select

mfg Piet
Anzeige
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
15.11.2025 11:56:29
emkaes
Hallo Piet,

amüsant, dein Code funktioniert, trotz einem kleinen aber entscheidenem Schönheitsfehler!
Vor Columns.Count gehört bitte noch ein Punkt! Das spielt bei ActiveSheet KEINE Rolle!
Führt aber zu einem Fehler, wenn du bei With ein -anderes Sheet- angibst!


Klugscheißermodus an:

Es ist kaum wahscheinlich, dass jemand, der hier um Rat bittet und der die Spaltenanzahl eines Worksheets ermitteln will, sich auf einem Tabellenblatt befindet, das aus einer anderen Version von Excel stammt ( xls und xlsx; xlsm und xls; xlsb und xls ).
Ansonsten ist es ziemlich wurscht, denn alle Tabellen einer Version haben nicht nur dieselbe, sondern auch noch diegleiche Anzahl von Spalten. Daher spielt es generell keine Rolle, auch nicht, wenn man NICHT mit ACTIVESHEET arbeitet.

Klugscheißermodus aus.

Man sollte immer vollständig referenzieren, da hast du Recht.

nur meine Meinung, keine Handlungsempfehlung, wie es immer so schön in Aktienforen heißt

Munter bleiben

Emkaes

Anzeige
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
15.11.2025 12:11:18
emkaes
Muss leider noch ergänzen

Wenn du allerdings in einer xlsm Datei Daten in den Spalten jenseits von 2^16 hälst und dann mit column.count in einer xls-Datei abfragst, kommt es natürlich zum Fehler
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
15.11.2025 16:10:25
GerdL
Moin
2^16; Columns.Count oder Rows.Count?
Eigentlich kommt ein Fehler schon bei fehlendem Plural bei Columns.Count.
Gruß Gerd
Anzeige
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
15.11.2025 18:08:22
emkaes
Stimmt! Es gab bei xls- Dateien 2^12 Spalten und 2^16 Zeilen. Danke, dass du aufgepaßt hast

emkaes
AW: VBA: Zellbereich markieren und rechte Zelle aktiveren
17.11.2025 11:16:13
Piet
Hallo emkaes

ich hatte nicht vor den "Klugscheißer" zu pielen, und bin sehr überrascht das es so ankam!
Wenn es dich gestört hat entschuldige ich mich dafür. Es war nur meine persönliche Erfahrung!
Gestern noch habe ich mir durch fehlenden Punkt Daten in einer Tabelle weggeschoßen!
Trotz 20 Jahre Programmieren passieren mir immer wieder diese dummen Flüchtigkeitsfehler!

mf Piet
Anzeige

Forumthreads zu verwandten Themen

Anzeige