Frage von exzell, 15

Curserposition in Berechnung verwenden ?

Ich möchte je nach Zeile, in der der Cursor steht, in einer bestimmten Zelle eine Anzeige einstellen. Kann ich dazu den Wert o.l. im Namenfeld, wo die aktuelle Corserposition angezeigt wird, verwenden oder gibt es eine Formel, mit der der aktuelle Curserwert ermittelt und in die Berechnung einbezogen wird?

z.B. Ein Eingabefeld ist in mehrer Monate aufgeteilt. Jedem Monat stehen 100 Zeilen zur Verfügung. Anhand der Curserposition soll nun in Zelle C2 der Monat angezeigt werden, für den diese Eingabe gewertet wird.

Expertenantwort
von Iamiam, Community-Experte für Excel, 15

Wenn es um die Position in einem Zelltext geht: gar nicht(m.W.)

Die Position der markierten Zelle geht mit

=ZELLE("Spalte")

=ZEICHEN(ZELLE("Spalte")+64) als Spaltenbuchstabe (nur A bis Z, bei höheren Spaltenzahlen ist Textauflösung des Rückgabrestrings von Adresse (s.u.) von Pos2 bis Pos des 2. $ am rationellsten, wenn auch umständlich)

=ZELLE("Zeile")

=ZELLE("Adresse")

Letzteres gibt die Adresse $$ zurück: $A$1

  • Adresse liefert bei externen Bezüge (als zuletzt berechnet zB mit F9 oder Eingabe in eine Zelle) auch Dateiname und Blattname: [Dateiname.xlsx]Blattname!$A$1 
  • Enthalten diese Sonderzeichen, schließen zwei Hochkommata Datei-und Blattname ein: '[µDatei01.xlsm]Blatt5h-1'!$A$32
  • Eselsbrücke: Das Hochkomma steht in beiden Fällen vor [ und vor !
  • Spiele Dich damit ein bisschen rum , um Feinheiten herauszufinden (zB welche Zeichen)

Rückgabe ohne $:

=WECHSELN(ZELLE("Adresse");"$";"";1) als A$1

=WECHSELN(ZELLE("Adresse");"$";"";2) als $A1 und

=WECHSELN(ZELLE("Adresse");"$";"") als A1

Du musst aber F9 betätigen, damit die Funktion den aktuellen Wert wiedergibt.

Kommentar von exzell ,

das mit Zelle("Zeile") funktioniert auch ohne F9, wenn mann in eine Zelle etwas einträgt. Es wird dann nur nachträglich angezeigt, für welchen Monat dieser Eintag ist. Ich habe neben der Anzeige mit der WENN-Funktion noch eine rote Meldung generiert, wenn das nicht der aktuelle Monat ist. Danke

Kommentar von Iamiam ,

danke für den Hinweis, ich wusste das zwar, habe es aber nur etwas versteckt untergeracht: "zB mit F9 oder Eingabe in eine Zelle", weil das ohnehin alles lang genug war! Wers nutzen will, kann es jetzt in Deinem Kommentar explizit nachlesen.

Ich hoffe, die AW war ansonsten umfassend genug. Auf wirklich ALLE Eventualitäten kann man kaum je eingehen!

Kommentar von Iamiam ,

für Weitere Rechnungen damit muss

=indirekt(Adressenformel)

verwendet werden, aqlso zB

=indirekt(Zelle("Adresse")) liefert den Wert, dessen Position durch Adresse ausgedrückt wird

Und (sicherheitshalber) wieder F9 ! (schadet ja meist nicht)

Antwort
von PWolff, 13

Das geht mit einem Makro, das auf das SelectionChange-Ereignis der Tabelle Reagiert.

Wenn es reicht, den Monat links neben der jeweiligen Eingabezelle anzuzeigen: die Funktion ZEILE() gibt die Zeilennummer der Zelle zurück, in der die Formel steht.

Kommentar von exzell ,

Das mit den Makros ist mir z.Zt noch zu kompliziert. Aber irgendwann komme ich auch mal dahinter. Trotzdem Danke

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten