Marko Spalten ein/ausblenden: Problem

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Marko Spalten ein/ausblenden: Problem

Beitrag von Karolus »

Jörg hat geschrieben:
ich möchte gern ein makro erstellen, dass mir auf knopfdruck mehrere Spalten ausblendet (z.b. c, b, aa, af, usw.)
bzw. wäre ideal
Die Spalten A und B sollen immer zu sehen sein und quasi der rest ausgeblendet bis auf (z.B. a bis z und ba bis bz)

habe dieses makro gefunden welches aber nicht funktioniert
......
?
Wenn du dir selbst darüber klar geworden bist, welche Spalten du aus/einblenden möchtest, trägst du diese der Reihe nach in untenstehendes Makro ein.

Code: Alles auswählen

sub spaltenausblenden
oSheet = thisComponent.sheets(0) '1. Tabellenblatt
dim aspalten()
aspalten() = array("B","D","E") 'Hier die gewünschten Spalten eintragen
	for i = 0 to ubound(aspalten()) 
		oSpalte = oSheet.getColumns().getByName(aspalten(i))   
		oSpalte.isVisible = false 'zum ausblenden
		'oSpalte1.isVisible = true 'zum wiedereinblenden
	next i       
end sub
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Marko Spalten ein/ausblenden: Problem

Beitrag von Karolus »

Hallo Jörg
Jörg hat geschrieben: glatt nochwas vergessen
bekommt man das irgendwie hin, dass das makro immer
auf das aktuell betrachtete dokument greift? nicht das ich für
jedes meiner tabellenblätter (die gliech aufgebaut sind)
die makros vervielfältigen möchte....
a) Falls du verschiedene Dokumente meinst, dann speichere das Makro nicht im Dokument selbst, sondern unter: 'meine makros ...'.
b) Falls du auf mehreren Tabellenblätter im gleichen Dokument aus/einblenden möchtest, dann schreib eine Schleife für diese Tabellenblätter:
zb.
...
for si = 0 to 2 '1. bis 3. Blatt
oSheet = thisComponent.sheets(si)
...
next si
...
c) falls du auf das gerade aktive Tabellenblatt zugreifen möchtest:
osheet = thisComponent.currentcontroller.activesheet
Jörg hat geschrieben:was müsste ich jetzt tun um ranges anzugeben z.B. D bis XY
bzw. wie bekomme ich es hin, dass wenn ich wieder das makro auslöse
er mir die ausgeblendeten wieder einblendet??
es gibt keine Spalte XY die grösste Spalte ist IV
ok, nochmal ein Makro für das aktuelle Blatt und Spalten D bis IV zum Aus- und Einblenden:

Code: Alles auswählen

sub spaltenaus_einblenden
osheet = ThisComponent.currentcontroller.activesheet 'aktuelles Blatt
	for i = 3 to 255 'Spalte D bis Spalte IV 
		oSpalte = oSheet.getColumns().getByindex(i)   
		oSpalte.isVisible = not(oSpalte.isVisible)'zum aus/einblenden	
	next i       
end sub
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten