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

Forumthread: ActiveSheet-Rows-Select mit Variablen

ActiveSheet-Rows-Select mit Variablen
03.08.2004 20:03:38
Michael
Servus Forum-Teilnehmer,
folgendes Problem :
Wie lässt sich in diesem Befehl
ActiveSheet.Rows(2:5003").Select
die Zahl 2 durch eine Variable "AnfR"
und
die Zahl 5003 durch die Variable "EndR"
ersätzen ?
Es soll nur der Zeilen-Bereich mit Inhalt
geprüft werden,
hierzu suche ich noch eine einfache Funktion,
z.B. auf der Basis
EndR=Rows.Count ' (dieser Code funktioniert nicht!)
der automatisch die Zeilen mit Inhalt zählt.
Gefragt ist hier eine sehr einfache Lösung !
Vielen Dank im Voraus.
Gruss Michael
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveSheet-Rows-Select mit Variablen
heinz
servus michael, so vielleicht?

Sub test()
Dim AnfR As Integer
Dim EndR As Integer
AnfR = 2
EndR = 5003
Rows(AnfR & ":" & EndR).Select
End Sub

heinz
AW: ActiveSheet-Rows-Select mit Variablen
03.08.2004 20:32:45
Björn
Hallo Michael,
vorausgesetzt du hast in Spalte 1 immer einen Inhalt, wenn in der Zeile überhaupt etwas steht, dann geht's mit diesem Code:
AnfR = 2
EndR = ActiveSheet.Cells(65536, 1).End(xlUp).Row 'Ggf. die "1" durch eine andere Spalte ersetzten!
ActiveSheet.Rows("" & AnfR & ":" & EndR & "").Select
Gruß
Björn
Anzeige
leicht verbesserte Version
03.08.2004 20:35:24
Björn
Hallo Michael,
da war noch was überflüssig (Siehe Lösung von Heinz). Besser ist:
AnfR = 2
EndR = ActiveSheet.Cells(65536, 1).End(xlUp).Row 'Ggf. die "1" durch eine andere Spalte ersetzten!
ActiveSheet.Rows(AnfR & ":" & EndR).Select
Gruß
Björn
AW: leicht verbesserte Version
04.08.2004 14:24:14
Michael
Servus Heinz,
servus Björn B.,
vielen Dank für Eure Empfehlungen,
sie funktionieren alle super,
hat mir sehr weiter geholfen.
Bezüglich dem Ermitteln der letzten
Zeilen-Nummer mit Inhalt,
hatte Nepumuk folgenden Vorschlag :
EndR=ActiveSheet.UsedRange.Rows.Count
funktioniert super.
Danke nochmals
Gruss Michael
Anzeige
Danke für die Rückmeldung - o. T.
04.08.2004 22:55:51
Björn
AW: ActiveSheet-Rows-Select mit Variablen
03.08.2004 20:34:42
Nepumuk
Hallo Michael,
so ermittelst du die letzte gefüllte Zelle in Spalte A:
EndR = Range("A65536").End(xlUp).Row
Gruß
Nepumuk
AW: ActiveSheet-Rows-Select mit Variablen
04.08.2004 12:28:52
Michael
Servus Nepumuk,
vielen Dank für Deinen Vorschlag.
Gibt es keine automatische Funktion, die die letzte
Zeile eines Tabellenblattes mit Inhalt ermittelt ?
Z.B. über "Rows.Count" oder "CountRows",
ohne dass ein Zeilen-Bereich angegeben werden muss;
das Ergebnis, der letzten Zeile, dann als Integer-Wert
der Variablen "EndR" übergeben wird.
Gruss Michael
Anzeige
AW: ActiveSheet-Rows-Select mit Variablen
04.08.2004 12:34:20
Nepumuk
Hallo Michael,
im Prizip ja. Über: ActiveSheet.UsedRange.Rows.Count
Gruß
Nepumuk
AW: ActiveSheet-Rows-Select mit Variablen
04.08.2004 12:54:30
Michael
Servus Nepumuk,
sehr interessant Dein Vorschlag.
Aber wie bekomme ich jetzt den Integer-Wert der
tatsächlich letzten Zeile in die Variable "EndR" ?
EndR=ActiveSheet.UsedRange.Rows.Count
funktioniert das so?
Ich bitte Dich um ein kurzes Zeilen-Beispiel.
Vielen Dank
Gruss Michael
Anzeige
AW: ActiveSheet-Rows-Select mit Variablen
04.08.2004 12:55:50
Nepumuk
Hallo Michael,
ja, richtig!!
Gruß
Nepumuk
AW: ActiveSheet-Rows-Select mit Variablen
04.08.2004 14:18:03
Michael
Servus Nepumuk,
vielen Dank.
Deine letzte Empfehlung
'letzte Zeilen-Nr. mit Inhalt in Variable
EndR=ActiveSheet.UsedRange.Rows.Count
funktioniert super.
Danke nochmals
Gruss Michael
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ActiveSheet-Rows-Select mit Variablen


Schritt-für-Schritt-Anleitung

Um in Excel VBA Zeilen mit Variablen auszuwählen, kannst du die folgenden Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject", dann "Einfügen" > "Modul").
  3. Kopiere und füge den folgenden Code ein:
Sub ZeilenMitVariablenAuswählen()
    Dim AnfR As Integer
    Dim EndR As Integer

    ' Setze den Start- und Endwert
    AnfR = 2
    EndR = 5003

    ' Wähle die Zeilen aus
    ActiveSheet.Rows(AnfR & ":" & EndR).Select
End Sub
  1. Ändere die Werte von AnfR und EndR nach Bedarf.
  2. Führe das Makro aus, um die gewünschten Zeilen auszuwählen.

Häufige Fehler und Lösungen

  • Fehler: „Objektvariable oder With-Blockvariable nicht gesetzt“

    • Lösung: Stelle sicher, dass du das Makro im richtigen Arbeitsblatt ausführst. Überprüfe, ob ActiveSheet tatsächlich das Blatt ist, in dem du arbeiten möchtest.
  • Fehler: „Index außerhalb des gültigen Bereichs“

    • Lösung: Überprüfe die Werte der Variablen AnfR und EndR. Sie müssen im gültigen Bereich der Zeilen liegen (z. B. 1 bis ActiveSheet.Rows.Count).

Alternative Methoden

Falls du die letzte Zeile mit Inhalt automatisch ermitteln möchtest, kannst du folgenden Code verwenden:

Sub LetzteZeileErmitteln()
    Dim AnfR As Integer
    Dim EndR As Integer

    AnfR = 2
    EndR = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row ' Spalte 1 kann angepasst werden

    ActiveSheet.Rows(AnfR & ":" & EndR).Select
End Sub

Das Beispiel verwendet ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row, um die letzte gefüllte Zeile in Spalte A zu finden.


Praktische Beispiele

Hier sind einige praktische Beispiele, die du in deinem VBA-Projekt verwenden kannst:

  1. Wählen der letzten Zeile basierend auf einer anderen Spalte:

    EndR = ActiveSheet.Cells(ActiveSheet.Rows.Count, 2).End(xlUp).Row ' Hier wird Spalte 2 verwendet
  2. Automatisches Zählen der Zeilen mit Inhalt:

    EndR = ActiveSheet.UsedRange.Rows.Count

Tipps für Profis

  • Verwende With ActiveSheet-Blöcke, um den Code effizienter und lesbarer zu gestalten.
With ActiveSheet
    .Rows(AnfR & ":" & EndR).Select
End With
  • Um die Auswahl von Zeilen zu vermeiden, kannst du auch direkt mit der Range-Objekt arbeiten:
Dim rng As Range
Set rng = ActiveSheet.Rows(AnfR & ":" & EndR)

FAQ: Häufige Fragen

1. Wie kann ich die letzte Zeile mit Inhalt in einer bestimmten Spalte ermitteln? Du kannst die folgende Zeile verwenden:

EndR = ActiveSheet.Cells(ActiveSheet.Rows.Count, <Spaltennummer>).End(xlUp).Row

Ersetze <Spaltennummer> durch die Nummer der Spalte, die du verwenden möchtest.

2. Gibt es eine Möglichkeit, nur die sichtbaren Zeilen auszuwählen? Ja, du kannst die SpecialCells-Methode verwenden, um nur sichtbare Zellen auszuwählen:

ActiveSheet.Cells.SpecialCells(xlCellTypeVisible).Select

Mit diesen Anleitungen und Beispielen solltest du in der Lage sein, effektiv mit ActiveSheet.Rows in VBA zu arbeiten und Zeilen mit Variablen auszuwählen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige