Seite 1 von 1
Registerkarten Datum
Verfasst: Mo, 16.12.2013 14:29
von haseharway
Hallo! Ich wollte einmal wissen ob folgendes möglich ist:
Ich habe eine Jahrestabelle errichtet, wo pro Registerkarte der jeweilige Monat steht. In der jeweiligen Tabelle muss ich manuell das Jahr ändern. Könnte ich der Registerkarte diese Zelle zuweisen, also z.B. Registerkarte = A7 (dort wo das datum steht)? Ich weiß das ist natürlich kein Problem jeden Monat das jeweilige Jahr manuell zu ändern, aber es kann ja möglich sein, dass ich dieses auch der jeweiligen Registerkarte zuweisen kann, ohne dieses jedes Jahr manuell zu ändern?
LG
Andreas
Re: Registerkarten Datum
Verfasst: Mo, 16.12.2013 15:53
von Thomas Mc Kie
Du willst für den Tabellenblattnamen auf eine Zelle (desselben) Tabellenblattes verweisen.
Das ist nicht möglich, nur manuell oder per Makro kannst du die Tabellenblattnamen ändern.
Grüße
Thomas
Re: Registerkarten Datum
Verfasst: Mo, 16.12.2013 17:34
von haseharway
Tja, Danke für die Antwort, schade aber mit Makros kenn ich mich nicht so aus, und das ist wohl zu umständlich...
Re: Registerkarten Datum
Verfasst: Mo, 16.12.2013 17:59
von F3K Total
Hi,
eigentlich nicht:
Angenommen du schreibst das Datum auf jedem Tabellenblatt in Zelle A1, als wirkliches Datum, z.B. 01.01.14, dann macht dieses Makro daraus Januar 2014 und benennt alle Tabellenblätter entsprechend.
Code: Alles auswählen
Sub set_sheetnames
osheets = thiscomponent.sheets
for i = 0 to oSheets.count - 1
osheet = osheets(i)
odatecell = osheet.getcellrangebyname("A1")
sSheetname = format(odatecell.string,"MMMM YYYY")
osheet.name = sSheetname
next i
End Sub
Anbei ein Beispiel
HTH
Gruß R
Re: Registerkarten Datum
Verfasst: Mo, 16.12.2013 18:25
von Thomas Mc Kie
Ist nicht so kompliziert wie es sich anhört. Kann man (zumindest die Grundzüge) auch per Makrorekorder aufzeichnen. Aber besser ist dies mit ein wenig nachlesen z.B. in
http://www.dannenhoefer.de/faqstarbasic/ zu basteln.
Sieht dann so aus:
Code: Alles auswählen
sub Tabellennamen
REM Benennt alle Tabellen nach String in Zelle (unten definiert) um
myDoc = thisComponent
Anzahl=myDoc.Sheets.count
for I = 0 to Anzahl-1 REM -1 weil hier ab 0 gezählt wird
mySheet=myDoc.sheets(I)
mySheet.name= myDoc.Sheets(I).getCellRangeByName("A2").String REM Hier die Zelle eintragen
Next I
end sub
Datei ist angehängt. Einfach mal die Namen in Zelle A2 ändern und Makro per Schaltfläche ausführen.
Viele Grüße
Thomas
EDIT: Da war wer schneller, während ich das erstellt habe.
Re: Registerkarten Datum
Verfasst: Mo, 16.12.2013 23:30
von haseharway
Lieben Dank für die Beispiele, werde ich morgen gleich ausprobieren!!!!
