HERBERS Excel-Forum - das Archiv
Spalte u Zeile innerhalb eines Makros feststellen
Joachim

Ich benötige innerhalb eines VBA-Makros die Information, von welcher Spalte und Zeile die Funktion aufgrufen wurde.
Ich will diese Information aber nicht als Parameter in den Funktionsaufruf übernehmen!
Mit ActiveCell und Range komme ich nicht weiter, da es sich nur einen definierten Bereich bezieht.
ThanX vorab
Joachim K

AW: Spalte u Zeile innerhalb eines Makros feststellen
Ramses

Hallo
Die VBA-Hilfe ist nicht so schlecht wie ihr Ruf
ActiveCell.Row
ActiveCell.Column
bzw. im Ereignismakro
Target.Row
Target.Column
Oder bei einer Mehrfachmarkierung
Selection.Cells(1,1).Row
Selection.Cells(1,1).Column
damit wird die linke obere Zeile/Spalte der Markierung ausgegeben
Gruss Rainer
Selection.Cells(1,1).Row
Rudi

Hallo Rainer
Selection.Row/ .Column reicht auch.
Gruß
Rudi
AW: Selection.Cells(1,1).Row
Joachim

Wahrscheinlich habe ich mich noch nicht richtig ausgedrückt.
Wenn sich aufgrund der Vorschläge die aktive Zelle (Cursorpositionierung) verändert, wird durch eine Aktualisierung immer die Spalte/Zeile der Zellposition ausgeworfen.
Ich möchte nur die Zeile/Spalte der Zelle, in der sich der Formelaufruf (Funktionsaufruf) befindet.
Grüße
Joachim K
das geht nicht. owT
Rudi

AW: Spalte u Zeile innerhalb eines Makros feststellen
fcs

Hallo Joachim,
wie von dem Mitantwortern bereits erwähnt - ohne Parameter-Übergabe geht es nicht.
Wenn du in einer benutzerdefinierten Funktion, die in der Tabelle benutzt wird, die Zellinformation benötigst, dann muss du die Zelle als Range-Parameter übergeben.
Beispiel:
Formel in Zelle B1:
=MeTest(A1;B1)
Beispiel für benutzedefinierte Funktion:
Function MeTest(Wert As Double, Zelle As Range)
Dim Spalte As Long, Zeile As Long
'Zelle ist Zelle, deren Zeilen/Spalten-Information verarbeitet werden soll, _
kann auch die Zelle sein in der die Formel steht
Spalte = Zelle.Column
Zeile = Zelle.Row
MeTest = Wert * 1000 * (Zeile + Spalte)
End Function
Gruß
Franz
AW: aus der Excelhilfe zu .CALLER ...
ingoG

Hallo Joachim,
versuchs mal so:
Function MeTest()
MeTest = Application.Caller.Row + Application.Caller.Column
End Function
Gruß Ingo
PS eine Rückmeldung wäre nett...
AW: aus der Excelhilfe zu .CALLER ...
Joachim

Hallo Ingo,
SUPER das wars!
Caller kannte ich vorher noch nicht !
ThanX again
Joachim K
Gerne, danke für die Rückmeldung OT
ingoG

.
Na endlich hat Einer an .Caller gedacht,...
Luc:-?

...Ingo,
Respekt! Da ich sehr viele udF schreibe, brauche ich das öfter. Die Meisten schreiben wohl nur Subroutinen, da braucht man das nicht, weil aus einer SubProc aufgerufene udFktt damit natürlich einen Fehler liefern. Das muss ich dann stets abfangen, damit die udF auch so benutzt wdn kann...
Gruß Luc :-?