Gibt es eine Funktion, um den Inhalt der aktiven Zelle dynamisch anzuzeigen?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

skl
*
Beiträge: 10
Registriert: Fr, 29.01.2016 16:13

Gibt es eine Funktion, um den Inhalt der aktiven Zelle dynamisch anzuzeigen?

Beitrag von skl »

Hallo,

bitte entschuldigt den doppelten Thread, aber ich hätte für mein Problem lieber eine Funktion/Formel, die ich in eine Zelle eintragen kann, als ein Makro.

Ich habe eine Tabelle, in der ich in verschiedenen Zellen Nachnamen eintrage. Auf einem zweiten Tabellenblatt berechne ich (gewichtet nach Position auf Blatt 1), wie oft der Nachname bereits in der Tabelle steht. Diese Information hätte ich gerne bei der Eingabe auf dem ersten Blatt.

Meine Idee:
Ich schreibe in eine freie Zelle den Inhalt (Nachname) der aktiven Zelle und hole mir den Zahlenwert vom 2. Blatt. Aber wie bekomme ich den Inhalt der aktiven Zelle dynamisch in eine andere geschrieben???

Vielen Dank
Stefan
skl
*
Beiträge: 10
Registriert: Fr, 29.01.2016 16:13

Re: Gibt es eine Funktion, um den Inhalt der aktiven Zelle dynamisch anzuzeigen?

Beitrag von skl »

Vielen Dank für die schnelle Antwort, Faol!

Mit SVERWEIS hole ich mir schon Zahlen, die auf dem 2. Tab berechnet werden. Ich möchte gerne ein "Infofeld" auf dem ersten Tab haben, das mir je nach aktiver Zelle dort den Inhalt dieser Zelle anzeigt. Dann kann ich mit SVERWEIS die Infos von Tab 2 holen.

Beispiel:

1. In Tabelle1.J3 trage ich Müller ein.
2. In Tabelle.A1 erscheint "Müller"
3. In Tabelle1.A2 steht =SVERWEIS(A1;Tabelle2.A2:G91;5), womit mir der auf "Müller" bezogene Wert aus Tabelle2 angezeigt wird.
4. Ich klicke auf Tabelle.J12, wo "Meier" schon steht
5. In Tabelle.A1 erscheint "Meier"
6. In Tabelle1.A2 ....

Alternativ genügt mir auch die Ausgabe des auf die aktive Zelle bezogenen Wertes in Tabelle.A2
=SVERWEIS(???;Tabelle2.A2:G91;5)

Der 2. und 5. Schritt (bzw. ???) ist mein Problem! Wie schreibe ich in Tabelle1.A1 (oder direkt in den SVERWEIS) den Wert der jeweils aktiven Zelle??



Für jegliche Hilfe sehr dankbar
Stefan
skl
*
Beiträge: 10
Registriert: Fr, 29.01.2016 16:13

Re: Gibt es eine Funktion, um den Inhalt der aktiven Zelle dynamisch anzuzeigen?

Beitrag von skl »

Hallo,

habe gerade
ThisComponent.getCurrentSelection().Value
gefunden. Das liefert mir aber nur numerische Werte und nicht den Text in der Zelle!
F3K Total
********
Beiträge: 3719
Registriert: Mo, 28.02.2011 17:49

Re: Gibt es eine Funktion, um den Inhalt der aktiven Zelle dynamisch anzuzeigen?

Beitrag von F3K Total »

Hallo,
versuche mal
.String oder .formula statt .value
Gruß R
skl
*
Beiträge: 10
Registriert: Fr, 29.01.2016 16:13

Re: Gibt es eine Funktion, um den Inhalt der aktiven Zelle dynamisch anzuzeigen?

Beitrag von skl »

DANKE!

Ich habe jetzt ein Makro zusammen geschustert, dass in etwa macht, was ich will:
Option Explicit
DIM Text As String
DIM meineCalcDatei
DIM meineTabelle
DIM meineZelleJ3

Sub Soll_Ist()

Text = ThisComponent.getCurrentSelection().String
meineCalcDatei = thisComponent
meineTabelle = meineCalcDatei.Sheets.getbyname("Aufsichten")
meineZelleJ3 = meineTabelle.getcellrangebyname("J3")
'in J3 schreiben
meineZelleJ3.String = Text

End Sub


Allerdings muss ich das Makro immer von Hand starten. Am liebsten wäre mir, wenn die Zelle J3 automatisch aktualisiert wird, wenn ich eine andere Zelle auswähle!

Hat hier noch jemand eine Idee?

Viele Grüße
Stefan
F3K Total
********
Beiträge: 3719
Registriert: Mo, 28.02.2011 17:49

Re: Gibt es eine Funktion, um den Inhalt der aktiven Zelle dynamisch anzuzeigen?

Beitrag von F3K Total »

Hi,
Rechtsklick auf Tabellenreiter->Tabellenereignisse...->Auswahl geändert.
Allerdings würde ich noch abfangen, ob es sich bei der aktuellen Auswahl tatsächlich um nur eine Zelle handelt.

Code: Alles auswählen

Sub Soll_Ist()
    oSel = ThisComponent.CurrentSelection
    if not oSel.supportsservice("com.sun.star.sheet.SheetCell") then exit sub
    Text = oSel.String
    meineCalcDatei = thisComponent
    meineTabelle = meineCalcDatei.Sheets.getbyname("Aufsichten")
    meineZelleJ3 = meineTabelle.getcellrangebyname("J3")
    'in J3 schreiben
    meineZelleJ3.String = Text
End Sub
Gruß R
skl
*
Beiträge: 10
Registriert: Fr, 29.01.2016 16:13

Re: Gibt es eine Funktion, um den Inhalt der aktiven Zelle dynamisch anzuzeigen?

Beitrag von skl »

Superklasse! Geanu dass, was ich wollte!!

Kannst du mir die Bedingung zum Verlassen der Routine noch erklären?

if not oSel.supportsservice("com.sun.star.sheet.SheetCell") then exit sub

Danke dir!

Stefan
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Gibt es eine Funktion, um den Inhalt der aktiven Zelle dynamisch anzuzeigen?

Beitrag von Stephan »

Kannst du mir die Bedingung zum Verlassen der Routine noch erklären?

if not oSel.supportsservice("com.sun.star.sheet.SheetCell") then exit sub
Wenn die aktuelle Selektion keine Zelle ist (sondern z.B. ein Zellbereich) soll das Makro verlassen werden (weil es sonst zu einem Fehler käme)


Gruß
Stephan
Antworten