Zelle dynamisch vergößen/verkleinern

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zelle dynamisch vergößen/verkleinern

Re: Zelle dynamisch vergößen/verkleinern

von Karolus » Mo, 14.04.2008 09:40

Hallo
Zunächst brauchst du in Spalte A eine Formel die 1 oder 2 einträgt abhängig von dem Wert der Nachbarzelle:
=WENN(B1>=40;1;2)
dann benötigst du ein Makro das alle gleichen Werte in A zu jeweils einer Zelle zusammenfasst.

Code: Alles auswählen

sub merge_gleiche_Werte
odoc = ThisComponent
osheet = odoc.sheets(0) '1. Tabellenblatt

	do while osheet.getcellbyposition(0,i).value > 0
		startz = i
		x = osheet.getcellbyposition(0,i).value
		i = i +1
		do while osheet.getcellbyposition(0,i).value = x
			i = i +1
		loop
'evtl. vorhandene Zusammenfassungen im Bereich aufheben
		osheet.getcellrangebyposition(0,startz,0,i -1).merge(false)
'und den ganzen Bereich zusammenfassen
		osheet.getcellrangebyposition(0,startz,0,i-1).merge(true)
	loop
end sub
	
um das ganze automatisch bei jeder Änderung in Spalte B ablaufen zu lassen, müsstest du einen Eventlisterer starten:

Code: Alles auswählen

Global oListener As Object
Global ocell as object

'mit folgendem wird der "Aufpasser" auf Tabelle1.B1:B12 angesetzt:
Sub addlistener
      ocell=thiscomponent.sheets().GetByName("Tabelle1").getcellrangebyname("B1:B12")
      oListener = CreateUnoListener( "AutomergDoc_", "com.sun.star.util.XModifyListener" )
      ocell.addmodifylistener(olistener)
End Sub

'Damit wird er entfernt
Sub Remove_Listener
On Error Resume Next
ocell.removemodifyListener(oListener)
End Sub

'Hier wird im Falle einer Änderung 'merge_gleiche_Werte' gestartet
Sub AutomergDoc_Modified(oEvent)
merge_gleiche_Werte
End Sub
Gruß Karo

Re: Zelle dynamisch vergößen/verkleinern

von AhQ » Mo, 14.04.2008 09:08

Hallo nOOby,

geht es DIr wirklich um eine Veränderung der Zelle in Spalte A? Also muß sich wirklich aus irgend einem Grund die Zellgröße verändern? Oder reicht es, wenn es nur so aussieht?

Ich hab mal eine Hilfsspalte angelegt, in der die Zugehörigkeit zu den einzelnen Bereichen drinsteht. Auf die greift in Spalte C ein SVerweis zu. Dann hab ich Formatvorlagen angelegt und laß die mit VORLAGE mir in den jeweiligen Zellen anzeigen. Ich hab mal 2 Versionen gemacht, einmal mit Farbe und einmal nur mit einem Strich.

Was leider noch nicht klappt, ist, daß dann in einer Zelle, so wie in Deinem Beispiel, eine 1 oder 2 drin steht.

Aber vielleicht kannst Du ja auf meinem Beispiel aufbauend was passendes ausdenken

Viele Grüße
AhQ
Dateianhänge
wechselndeVorlage.ods
(9.65 KiB) 26-mal heruntergeladen

Nach oben