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

Forumthread: Aus einer zelladresse die Zeilennummer ermitteln?

Aus einer zelladresse die Zeilennummer ermitteln?
18.08.2004 15:02:47
erkoo
Hallo zusammen,
ich versuche mit VBA-Code aus einer ermitttelten Zelladrsse (Tabelle1'!A1)
die Zeilennummer zu ermitteln.

Sub zelladresse()
dim ZellAdresse as string
dim zeilennummer as integer
ZielAdresse= "Tabelle1'A1"
zeilenNummer = ?
'ich habe keine Idee wie ich das ermitteln kann
'vielleicht mit: Mid(ZellAdresse , InStr(1, ZellAdresse , "!") + 1, 20)
'aber gibt es eine andere möglichkeit die einfacher ist.
End Sub

Hat jeman
d eine gute Idee wie ich das am bessten machen kann.
Danke für eure unterstützung
GRuß aus STuttgart
ERko
Anzeige
AW: Aus einer zelladresse die Zeilennummer ermitteln?
Ulf
zeilenNummer = sheets("DeinBlatt").[a1].row
Ulf
AW: Aus einer zelladresse die Zeilennummer ermitte
18.08.2004 15:53:04
erko
Hallo Harry und Ulf,
danke erst mal für die schnelle Antwort.
Die Sache ist so, dass meine ZielAdresse= "Tabelle1'A1" ein String ist.
Mit Funktion zeilenNummer = sheets("DeinBlatt").[a1].row
scheint es nicht ganz zu funktinieren oder ich mache etwas nicht richtig.
In deinem Fall müsste ich es etwa so machen:
zeilenNummer = sheets("Tabelle1'!A1").[Tabelle1'!A1].row
zeilenNummer = sheets("Tabelle1'!A1").row
Gruß
ERko
Anzeige
AW: Aus einer zelladresse die Zeilennummer ermitte
Ulf
Wo kommt der string her?
Ulf
AW: Aus einer zelladresse die Zeilennummer ermitte
harry
wenn ich dich richtig verstehe, suchst du
zeilenNummer = Sheets("Tabelle1'!A1").Cells.Find("Tabelle1'!A1", LookIn:=xlValues, lookat:=xlWhole).Row
oder?
AW: Aus einer zelladresse die Zeilennummer ermitte
18.08.2004 16:19:57
erko
Hallo Harry,
genau so etwas suche ich;-)
Wenn ich das richtig Interpretiere, kommt als Lösung die zeilennummer oder?
aber irgendwie habe ich damit ein Laufzeitfehler 9.
zeilenNummer = Sheets("Tabelle1'!A1").Cells.Find("Tabelle1'!A1", LookIn:=xlValues, lookat:=xlWhole).Row
Gruß
Erko
Anzeige
AW: Aus einer zelladresse die Zeilennummer ermitte
harry
der code sucht im arbeitsblatt "Tabelle1'!A1" nach einem eintrag Tabelle1'!A1. wenn es den nicht gibt, kommt laufzeitfehler 91. um den zu unterbinden, einfach
On Error Resume Next
davorstellen.
laufzeitfehler 9 kommt, wenn es das arbeitsblatt "Tabelle1'!A1" nicht gibt.
wenn alles vorhanden ist, erhältst du die zeilennummer der zelle, in der Tabelle1'!A1 steht.
liebe grüße,
harry
Anzeige
AW: Aus einer zelladresse die Zeilennummer ermitteln?
harry
hi,
probier das mal aus:
MsgBox Cells(1, 1).Row
MsgBox Cells(1, 1).Column
MsgBox Cells(1, 1).Address
da müsstest du dann das problem lösen können, oder?
liebe grüße,
harry
AW: Aus einer zelladresse die Zeilennummer ermitte
18.08.2004 16:12:19
erko
Hallo,
nicht ganz so Harry.
Ich definiere in einer Excel-Zelle eine Zelladresse (Tabelle1'!A1) und lege diese Zelladresse im VBA in ein String ab.
Die lautet z.Beispiel so: ZellAdresse = "Tabelle1'A1"
Mein Zeil ist, dass ich einen Wert in diese Zelladresse ablegen kann aber eine Zeile tiefer.
z.B. 1972 in Tabelle1'!A1
Ziel 1972 in Tabelle1'!A2
Wann ich die ZeilenNummer ermittel kann, dann kann ich die Zeile + 1 nehmen.
Also
Tabelle in Tabelle1
Spalte in A
Zeile in 1 + 1 = 2
Ergebnis währe dann: Tabelle1'!A2
Gruß
Erkoo
Anzeige
AW: Aus einer zelladresse die Zeilennummer ermitte
harry
warum speicherst du eine adresse als string? das macht das ganze doch nur komplizierter.
Set ZellAdresse = Worksheets("Tabelle1").Cells(1, 1)
zeilennummer = ZellAdresse.Row
oder kommt der string aus einer inputbox? dann kannst du die zeilennummer doch gleich abspeichern.
AW: Aus einer zelladresse die Zeilennummer ermitte
19.08.2004 10:32:07
erko
Hallo Harry,
das ganze ist so aufgebaut, dass über ein SVerweis die Zelladresse (in der Zelleadresse ist die Adresse gepfegt, Tabelle1'!A1) gefunden wird.
Ich habe jetzt eine Lösung gefunden mit der ich ganz gut auskomme.
dim Zieladresse as string
Dim wert() As String
dim Zeile as integer
dim Zelladresse as string
Zieladresse = "Tabelle1'!A1" 'Druch SVerweis gefunden und abgelegt.
wert = Split(Range(Zieladresse ).Address, "$")
'MsgBox "Spalte: " & wert(1) & Chr(13) & "Zeile: " & wert(2)
Zeile = wert(2) + 1 'Ziel: die nähste Zeile soll als Adresse stehen
Zelladresse = wert(1) & Zeile ' neue Adresse lautet: Tabelle1'!A2
Ich danke euch trotzdem für die Unterstüztung.
Gruß aus dem Schwabenland
Erko
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilennummer aus einer Zelladresse mit VBA ermitteln


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Modul einfügen: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)", wähle "Einfügen" und dann "Modul".

  3. Code eingeben: Füge den folgenden Code in das Modul ein, um die Zeilennummer einer Zelladresse zu ermitteln:

    Sub ZeilennummerErmitteln()
       Dim Zieladresse As String
       Dim wert() As String
       Dim Zeile As Integer
    
       Zieladresse = "Tabelle1!A1"  ' Beispieladresse
       wert = Split(Range(Zieladresse).Address, "$")
       Zeile = wert(2)  ' Zeilennummer auslesen
    
       MsgBox "Die Zeilennummer ist: " & Zeile
    End Sub
  4. Ausführen: Drücke F5, um das Makro auszuführen und die Zeilennummer zu sehen.


Häufige Fehler und Lösungen

  • Laufzeitfehler 9: Dieser Fehler tritt auf, wenn das Arbeitsblatt nicht gefunden wird. Stelle sicher, dass der Name des Arbeitsblatts korrekt ist.

  • Laufzeitfehler 91: Wenn die gesuchte Zelladresse nicht existiert, kann dieser Fehler auftreten. Verwende On Error Resume Next vor der Zeilenanweisung, um den Fehler zu unterdrücken.

    On Error Resume Next
    Zeile = Sheets("Tabelle1").Cells.Find("Tabelle1!A1", LookIn:=xlValues, lookat:=xlWhole).Row

Alternative Methoden

Eine andere Möglichkeit, die Zeilennummer in Excel VBA zu ermitteln, ist die Verwendung der Cells-Eigenschaft:

Sub AlternativeZeilennummer()
    Dim ZeilenNummer As Integer
    ZeilenNummer = Sheets("Tabelle1").Cells(1, 1).Row
    MsgBox "Die Zeilennummer ist: " & ZeilenNummer
End Sub

Hierbei kannst Du direkt auf die Zeile einer Zelle zugreifen, ohne die Adresse vorher zu ermitteln.


Praktische Beispiele

  1. Zieladresse setzen und Zeilennummer ermitteln:

    Sub Beispiel()
       Dim Zieladresse As String
       Dim Zeilennummer As Integer
       Zieladresse = "Tabelle1!A4"  ' Beispieladresse
       Zeilennummer = Range(Zieladresse).Row
       MsgBox "Die Zeilennummer für " & Zieladresse & " ist: " & Zeilennummer
    End Sub
  2. Wert in die nächste Zeile schreiben:

    Sub WertInNaechsteZeile()
       Dim Zieladresse As String
       Dim Zeilennummer As Integer
    
       Zieladresse = "Tabelle1!A1"
       Zeilennummer = Range(Zieladresse).Row + 1
       Cells(Zeilennummer, 1).Value = 1972  ' Wert in die nächste Zeile schreiben
    End Sub

Tipps für Profis

  • Fehlerbehandlung: Verwende immer Fehlerbehandlung in Deinen VBA-Skripten, um unerwartete Abstürze zu vermeiden.

  • Variablen sinnvoll benennen: Benenne Deine Variablen so, dass sie den Inhalt klar widerspiegeln (z.B. Zieladresse, Zeilennummer).

  • Verwendung von With: Für mehrere Operationen auf ein Objekt kann die With-Anweisung den Code optimieren:

    With Worksheets("Tabelle1")
       MsgBox .Cells(1, 1).Row
       MsgBox .Cells(1, 2).Column
    End With

FAQ: Häufige Fragen

1. Wie kann ich die Zeilennummer einer Zelle ohne VBA herausfinden?
Du kannst die Zeilennummer in Excel direkt ablesen, indem Du die Zelle auswählst. Die Zeilennummer steht links in der Zeilenüberschrift.

2. Was ist der Unterschied zwischen Cells und Range?
Cells verwendet numerische Indizes (Zeile, Spalte), während Range normalerweise einen Zellbezug als String verwendet (z.B. "A1").

3. Wie kann ich die aktuelle Zeilennummer in einem Worksheet ermitteln?
Verwende ActiveCell.Row, um die Zeilennummer der aktuell ausgewählten Zelle zu bekommen.

4. Kann ich mit VBA auch mehrere Zeilennummern ermitteln?
Ja, Du kannst Schleifen verwenden, um durch mehrere Zellen zu iterieren und deren Zeilennummern zu ermitteln.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige