Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: i=activecell.row

i=activecell.row
04.08.2004 09:20:37
Andi
Morgen,
habe ein Problem. Möchte aus aktiver Zelle die Zeilennummer ermitteln. Für eine Variable.
Bsp.:
i=activecell.row
cell(i,9).select
Leider geht das so nicht.
Wer kann helfen?
Gruß Andreas
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: i=activecell.row
Hendrik
Einfach ein "s" dazu. :-)
Die Anweisung muss Cells(i,9).Select lauten.
AW: i=activecell.row
Michael
Hallo Andreas,
i = ActiveCell.Row
Cells(i, 9).Select
Das "s" macht den Unterschied. Du adressierst ein Objekt aus der Auflistung CELLS.
CIAO
Michael
AW: i=activecell.row... leider nicht
04.08.2004 09:37:56
Andi
Hi,
erstmal danke für die Hilfe. Leider läufts so nicht. So sieht es bei mir aus:
i = ActiveCell.Row
Range(Cells(i, "E"), Cells(i, "CA")).Select
Idee: Der Benutzer wählt eine Zelle aus, dann wird der Bereich ausgewählt.
Außerdem habe ich noch ein Problem beim prüfen:
If ActiveCell Range("B7:B2000") Then
MsgBox "Falsche Zelle ausgewählt"
Kill "K:\....txt"
Exit Sub
End If
Läuft leider auch nicht.
Gruß Andreas
Anzeige
AW: i=activecell.row... leider nicht
Hendrik
Also nu kommste ja mit einem ganz anderen Problem. Aber abgesehen davon, funzt Dein erster Code tadellos. Ich gehe mal davon aus, dass Du die Codezeilen in ein Sub eingebaut hast. ;-)
AW: i=activecell.row... leider nicht
04.08.2004 09:46:59
Andi
Ja stimmt.
Das Makro wird von einer anderen Sub aufgerufen. Mir würde es auch helfen, wenn ich eine belegte Zeile finden würde.
Anzeige
AW: i=activecell.row... leider nicht
Hendrik
Jetzt kann ich Dir gar nicht mehr folgen...
AW: i=activecell.row... leider nicht
04.08.2004 09:49:24
Andi
Ich möchte einfach die Zeilennummer ermitteln. Für meine Variable.
Entweder ich finde eine belegte Zelle oder die aktive.
Danke für die Hilfe.
AW: i=activecell.row... leider nicht
Hendrik
Vorschlag: schildere Dein Anliegen doch nochmal in ganzen Sätzen mit Beispielcode. Damit deutlich wird, wofür Du einen Lösungsansatz benötigst.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilennummer der aktiven Zelle in Excel VBA ermitteln


Schritt-für-Schritt-Anleitung

Um in Excel VBA die Zeilennummer der aktiven Zelle zu ermitteln, musst du die ActiveCell.Row-Eigenschaft verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor (drücke ALT + F11).

  2. Füge ein neues Modul hinzu (Einfügen > Modul).

  3. Schreibe folgenden Code:

    Sub ZeileErmitteln()
       Dim i As Long
       i = ActiveCell.Row
       Cells(i, 9).Select ' Wählt die Zelle in Spalte 9 (I) der aktiven Zeile aus
    End Sub
  4. Schließe den Editor und führe das Makro aus, während du eine Zelle in Excel aktiv hast.


Häufige Fehler und Lösungen

  • Problem: "Variable nicht definiert"

    • Lösung: Stelle sicher, dass du die Variablen korrekt deklariert hast. Verwende Dim, um i als Long zu definieren.
  • Problem: Der Befehl Cells(i, 9).Select funktioniert nicht.

    • Lösung: Überprüfe, ob du das "s" in Cells verwendest. Der richtige Befehl ist Cells(i, 9).Select, nicht Cell(i, 9).Select.
  • Problem: Der Code läuft nicht wie erwartet, wenn du einen Bereich mit Range(Cells(i, "E"), Cells(i, "CA")).Select auswählst.

    • Lösung: Stelle sicher, dass du die aktive Zelle richtig definiert hast und dass das Makro in einem Sub ausgeführt wird.

Alternative Methoden

Es gibt mehrere Möglichkeiten, die aktive Zeilennummer in Excel VBA zu ermitteln:

  1. Verwendung von Application.ActiveCell.Row:

    Dim i As Long
    i = Application.ActiveCell.Row
  2. Direkte Referenzierung durch ActiveRow:

    Dim i As Long
    i = ActiveCell.Row ' oder ActiveRow
  3. Verwendung von Cell("row"):

    Dim i As Long
    i = Cell("row", ActiveCell)

Praktische Beispiele

Hier sind einige praktische Szenarien, in denen du die aktive Zeile in VBA nutzen kannst:

  1. Auswahl einer bestimmten Spalte in der aktiven Zeile:

    Sub AuswahlSpalte()
       Dim i As Long
       i = ActiveCell.Row
       Cells(i, 5).Select ' Wählt die Zelle in Spalte 5 (E) der aktiven Zeile aus
    End Sub
  2. Überprüfung, ob die aktive Zelle in einem bestimmten Bereich liegt:

    Sub Überprüfung()
       If Not Intersect(ActiveCell, Range("B7:B2000")) Is Nothing Then
           MsgBox "Falsche Zelle ausgewählt"
           Exit Sub
       End If
    End Sub

Tipps für Profis

  • Du kannst die ActiveCell-Eigenschaft auch in Kombination mit anderen Excel-Objekten verwenden, um komplexere Aufgaben zu automatisieren.
  • Nutze ActiveCell.Offset für die Navigation relativ zur aktiven Zelle. Zum Beispiel: ActiveCell.Offset(1, 0).Select wählt die Zelle direkt unter der aktiven Zelle aus.
  • Verwende Application.ScreenUpdating = False, um die Bildschirmaktualisierung während der Ausführung deines Makros zu deaktivieren, was die Ausführung beschleunigt.

FAQ: Häufige Fragen

1. Wie kann ich die Zeilennummer der aktiven Zelle in einer Variablen speichern?
Du kannst die Zeilennummer wie folgt speichern: Dim i As Long: i = ActiveCell.Row.

2. Was passiert, wenn keine Zelle aktiv ist?
Wenn keine Zelle aktiv ist, wird ein Fehler angezeigt. Stelle sicher, dass immer eine Zelle ausgewählt ist, bevor du den Code ausführst.

3. Kann ich die aktive Zelle direkt ansprechen?
Ja, du kannst direkt auf die ActiveCell zugreifen, um Werte zu lesen oder zu ändern, z.B. ActiveCell.Value = "Neuer Wert".

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige