Tabellenreiter umbenennen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

heiko_hems
Beiträge: 7
Registriert: Mi, 02.07.2008 17:44

Tabellenreiter umbenennen

Beitrag von heiko_hems »

Hallo Zuammen,

wo finde ich einen Hinweis wie ich Tabellenreiter (zB per Makro) umbenenne nachdem eine bestimmte Zelle Ihren Wert ändert ?
Ich habe die Tabellenblätter Blanko_bla1 Blanko_Bla2 genannt und möchte nach Eintrag in A1:Hallo die Blätter Hallo_Bla1 und Hallo_Bla2 heißen haben.

In Excel habe ich vor Jahren mal sowas gehabt. Hoffe Ihr habt einen Tipp wo ich für OO danach suchen soll.
Danke !

Sorry Signatur veraltet: OO3.3.0 auf Win7
Viele Grüße
Heiko

OOo 3.3.0 auf Win7
heiko_hems
Beiträge: 7
Registriert: Mi, 02.07.2008 17:44

Re: Tabellenreiter umbenennen

Beitrag von heiko_hems »

Hallo Stephan,

vielen Dank für den Hinweis.

Damit ist aber m.E. auch schon klar, dass das bei einer Bearbeitung mit MSExcel nicht funktionieren wird.
Soweit derzeit bekannt wird aber genau das erforderlich sein.
D.h. ich muss auf dieses Feature wohl verzichten !?
Viele Grüße
Heiko

OOo 3.3.0 auf Win7
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Tabellenreiter umbenennen

Beitrag von Stephan »

Damit ist aber m.E. auch schon klar, dass das bei einer Bearbeitung mit MSExcel nicht funktionieren wird.
Und wieso? Wieso schließt Du aus einem Text, der überhaupt nichts über eine Nicht-Funktion unter MS Excel sagt, das eine solche Nichtfunktion vorläge? (= das "Damit" in Deiner Aussage)

Ich würde nur gerne die Logik Deiner Aussage verstehen.


Im Übrigen geht das Ganze, beispielsweise wie folgt (wobei ich nicht den Anspruch erhebe das das bereits der bestmögliche Weg wäre, es ist lediglich ein Weg der mir als Erstes einfiel):

Vorausetzung (als Beispiel):
Name des ersten Tabellenblattes soll auf den Namen geändert werden der in Zelle B2 steht, wenn sich Zelle B1 ändert

Tue in MS Excel Folgendes:
-neue Datei anlegen
-in Zelle B2 den Text "abc" schreiben
-für die Tabelle in der Basic-IDE folgenden Code zuordnen:

Code: Alles auswählen

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B1" Then
  Sheets(1).Name = Sheets(1).Range("B2").Text
End If
End Sub
-ein neues Code-Modul erstellen
-dort folgenden Code eintragen:

Code: Alles auswählen

Function blattname(x)
  On Error GoTo schluss
  ThisComponent.Sheets(0).Name = ThisComponent.Sheets(0).getCellRangeByName("B2").String
schluss:
End Function
-in Zelle E1 des Tabellenblattes folgende Formel eintragen:

=BLATTNAME(B1)


-Datei als *.xls speichern

Die Datei funktioniert nun in MS Excel und OOo-Calc.


Weitere Anpassungen/Verbesserungen (beispielsweise ist noch abzufangen das sich beim Öffnen in Calc einmalig der Blattname deshalb ändert weil normalerweise alle formeln neu berecvhnet werden) liegen in Deinen Händen, denn das Ganze hier ist nur ein ganz einfaches Beispiel.





Gruß
Stephan
Dateianhänge
Mappe1.xls
(20 KiB) 173-mal heruntergeladen
heiko_hems
Beiträge: 7
Registriert: Mi, 02.07.2008 17:44

Re: Tabellenreiter umbenennen

Beitrag von heiko_hems »

Hallo Stephan,

entschuldige, ich bin aber nicht so fit in der Codierung und habe aus dem Code-Schnipsel Deines Links
aufgrund 'ocalc=thiscomponent' einfach geschlossen, dass das nur für OOCalc gedacht ist.

Ich werde das aber mal - und die Excel-Variante - ausprobieren.

Danke für Deine ausführlichen Erläuterungen !
Viele Grüße
Heiko

OOo 3.3.0 auf Win7
Antworten