Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

aktuelle Postiion ermitteln

aktuelle Postiion ermitteln
10.09.2004 10:58:18
Stefan
Hallo,
mit ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False) bekomme ich ja einen String, der die aktuell selektierte Zelle beinhaltet.
Ich brauch aber die Spalte und die Zeile einzeln. Sprich statt "A1" brauch ich "A" und "1".
Jetzt kann aber der String "A355" oder "AB10" lauten. Es gibt keine feste Vorgabe, wie viele Buchstaben und Ziffern der String enthält.
Wissen ihr eine schönere/einfachere Möglichkeit, als den hinteren Teil des strings mit right(String, 1), right(String, 2 usw.) so lange zu zerschneiden, bis man die längste Zahl, die noch numerisch ist ermittelt hat?
Oder kennt ihr evtl. ne ganz andere Möglichkeit?
Wie siehts aus, wenn ich mehrere Zellen markiere?
Wie erreiche ich es einen String in Form "A1:B4" oder "A1;B3;X75" zu bekommen?
Danke für euere Hilfe!!!
Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: aktuelle Postiion ermitteln
10.09.2004 11:11:29
Mac4
Hallo Stefan,
zu Deinem ersten Problem folgender Vorschlag:
MsgBox ActiveCell.Row 'Zeilennummer
MsgBox WorksheetFunction.Substitute(Cells(1, ActiveCell.Column).Address(False, False), 1, "") 'Spaltenbuchstabe
Marc (aus Köln)
AW: aktuelle Postiion ermitteln
Stefan
Hi Marc,
danke, das hilft mir schon sehr weiter!
Gruß,
Stefan
AW: aktuelle Postiion ermitteln
10.09.2004 11:24:25
Mac4
Hi,
hier noch was zu Problem 2 (falls ich es richtig verstanden habe):
MsgBox Selection.Address(False, False)
Marc
AW: aktuelle Postiion ermitteln
ypsilon
warum willst du denn unbedingt einen string ?
mit cells(zeile,spalte) sparst du dir die umwandlung und kannst gleich numerische werte benutzen
das geht natürlich auch für einen bereich
Range(Cells(erste_zeile, erste_spalte), Cells(letzte_zeile, letzte_spalte))
With Selection
erste_zeile = .Row
erste_spalte = .Column
letzte_zeile = .Row + .Rows.count - 1
letzte_spalte = .Column + .Columns.count - 1
End With
cu Micha
Anzeige
AW: aktuelle Postiion ermitteln
WernerB.
Hallo Stefan,
wie gefällt Dir das? Für Deinen dritten Fall kann ich Dir leider keine Lösung anbieten.

Sub Stefan1()
Dim Spalte As String
Dim Zeile As Long
Spalte = Left(ActiveCell.Address(True, False), _
InStr(ActiveCell.Address(True, False), "$") - 1)
Zeile = ActiveCell.Row
MsgBox "Spalte: " & Spalte & vbCr & "Zeile: " & Zeile
End Sub


Sub Stefan2()
Dim Bereich As String, lo As String, ru As String, _
Spalte1 As String, Spalte2 As String
Dim Zeile1 As Long, Zeile2 As Long
Dim sl As Integer, sr As Integer
Bereich = Selection.Address(False, False)
lo = Left(Bereich, InStr(Bereich, ":") - 1)             'links oben
ru = Right(Bereich, Len(Bereich) - InStr(Bereich, ":")) 'rechts unten
Zeile1 = Range(lo).Row                                  'Zeile oben
Zeile2 = Range(ru).Row                                  'Zeile unten
sl = Range(lo).Column                                   'Spalte links
sr = Range(ru).Column                                   'Spalte rechts
Spalte1 = Application.Substitute(Cells(1, sl).Address(0, 0), 1, "")
Spalte2 = Application.Substitute(Cells(1, sr).Address(0, 0), 1, "")
MsgBox "Zelle links oben" & vbCr & vbCr & "Spalte: " & Spalte1 & vbCr & "Zeile: " & Zeile1
MsgBox "Zelle rechts unten" & vbCr & vbCr & "Spalte: " & Spalte2 & vbCr & "Zeile: " & Zeile2
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
Danke!
Stefan
Hi,
ihr seid echt genial leute! Jedes Posting hilft mir super weiter und funktioniert wie gewünscht!
Nur der Fall "A1;B3;X75" ist noch nicht gelöst. Aber das ist warscheinlich auch der, der am wenigsten auftauchen wird...
@ ypsilon/Micha
Ich will nicht unbedingt einen String... wenn ich gleich die zeile in numerischer Form hab, ists natürlich besser... Ich dachte nur bzgl. des "ausschneidens"...
Also falls Ihr zum letzten Fall noch ne Idee habt... ;))
Dank euch!!!
Stefan
AW: Danke!
yps
dein letztes problem ;-) 1.ter fall =zusammenhängender bereich ist ja bereits erledigt
den zweiten mit nichtzusammenhängenden bereichen könntest du so lösen:

Sub test()
Dim a(100)
For i = 1 To Selection.Areas.count
a(i) = Selection.Areas(i).Address
Next i
End Sub

cu Micha
Anzeige
AW: Danke!
Stefan
Hi Micha,
stimmt, das ist ne gute idee... so müsste es gehen...
Danke!
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige