Diagramme ausblenden

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

zero82
****
Beiträge: 156
Registriert: Mi, 19.12.2012 11:09

Diagramme ausblenden

Beitrag von zero82 »

Hallo liebes Forum,

ich möchte gerne per Listenfeld zwei Kategorien einbauen, mit der ich zwei Diagramme aus- bzw. einblenden möchte.

Kategorie A zeigt Diagramm A und Kategorie B zeigt Diagramm B an.

Ich habe folgendes ausprobiert aber er zeigt mir immer einen Fehler an. Woran kann das liegen?

Code: Alles auswählen

Private Sub Diagramm()
If CheckBox1.Value = True Then
    ActiveSheet.ChartObjects("Diagramm1").Visible = True
    ActiveSheet.ChartObjects("Diagramm2").Visible = False
  Else
    ActiveSheet.ChartObjects("Diagramm1").Visible = False
    ActiveSheet.ChartObjects("Diagramm2").Visible = True
End If
End Sub
Danke schonmal
zero82
F3K Total
********
Beiträge: 3723
Registriert: Mo, 28.02.2011 17:49

Re: Diagramme ausblenden

Beitrag von F3K Total »

Hi,
der Code kommt woher? Excel? Geht in Starbasic so nicht.
Habe länger geforscht, dieser Code funktioniert, wenn Du deine Diagramme richtig benamst. (rechte Maustaste auf das Diagramm->Name... -> Diagramm1 und Diagramm2 eintragen):

Code: Alles auswählen

Private Sub Diagramm()
    oSheet = Thiscomponent.currentcontroller.activeSheet
    opage = oSheet.drawpage
    oform = opage.forms.Formular
    for i = 0 to opage.count - 1
        oshape = opage(i)
        if oshape.LinkDisplayName = "Diagramm1" then sPersistName1 = oshape.PersistName
        if oshape.LinkDisplayName = "Diagramm2" then sPersistName2 = oshape.PersistName
    next i
    ocharts = oSheet.charts
    for i = 0 to ocharts.count -1
        oChart = ocharts(i)
        if ochart.Name = sPersistName1 then odia1 = ochart.EmbeddedObject.drawpage(0)
        if ochart.Name = sPersistName2 then odia2 = ochart.EmbeddedObject.drawpage(0)
    next i
    CheckBox1 = oForm.CheckBox1
    If CheckBox1.state = 1 Then
        odia1.Visible = True
        odia2.Visible = False
      Else
        odia1.Visible = False
        odia2.Visible = True
    End If
End Sub
Anbei ein Beispiel.
Gruß R
Dateianhänge
Diagramm_ausblenden.ods
(23.88 KiB) 237-mal heruntergeladen
zero82
****
Beiträge: 156
Registriert: Mi, 19.12.2012 11:09

Re: Diagramme ausblenden

Beitrag von zero82 »

Hallo,

wenn ich dieses Skript ausführe taucht bei mir folgender Fehler auf:
Fehler.jpg
Fehler.jpg (135.14 KiB) 2681 mal betrachtet
F3K Total
********
Beiträge: 3723
Registriert: Mo, 28.02.2011 17:49

Re: Diagramme ausblenden

Beitrag von F3K Total »

Hi,
wenn es sich um meine Datei handelt, die läuft bei mir, liegt es vielleicht an deiner OpenOffice Version (3.2).
Aktuell ist 3.4.1

Gruß R
zero82
****
Beiträge: 156
Registriert: Mi, 19.12.2012 11:09

Re: Diagramme ausblenden

Beitrag von zero82 »

Hallo F3K,

ja daran könnte das liegen. Ich probiere es mal später an meinem Laptop. Da habe ich die neuere Version drauf und berichte ob es funktioniert hat. Ich frage mich aber, wie das sein kann. Normalerweise müssten beide OOo Versionen kompatibel sein, oder habe ich einen Denkfehler.

Bis denne...
F3K Total
********
Beiträge: 3723
Registriert: Mo, 28.02.2011 17:49

Re: Diagramme ausblenden

Beitrag von F3K Total »

Hi,
da scheint sich was getan zu haben.
Unter 3.3 läuft und funktioniert das Makro, unter 3.4.1 läuft es ohne Fehlermeldung, das Diagramm wird aber nicht ausgeblendet. Komisch.
Ich forsche mal in Version 3.4.1 weiter.

So, schon fertig: Unter 3.4.1 läuft dieses:

Code: Alles auswählen

Private Sub Diagramm()

    oSheet = Thiscomponent.currentcontroller.activeSheet
    opage = oSheet.drawpage
    oform = opage.forms.Formular
    for i = 0 to opage.count - 1
        oshape = opage(i)
        if oshape.Name = "Diagramm1" then  odia1 = oshape
        if oshape.Name = "Diagramm2" then  odia2 = oshape
    next i
    CheckBox1 = oForm.CheckBox1
    If CheckBox1.state = 1 Then
        odia1.Visible = True
        odia2.Visible = False
      Else
        odia1.Visible = False
        odia2.Visible = True
    End If
End Sub
Gruß R

Edit: Unter LO 3.5 und LO 3.6 läuft wiederum nur die erste Version.
zero82
****
Beiträge: 156
Registriert: Mi, 19.12.2012 11:09

Re: Diagramme ausblenden

Beitrag von zero82 »

Hi,

ich habe die alte Version unter LO 3.6 ausprobiert funktioniert tadellos. Nur in OOo kommt die Fehlermeldung. Wie gesagt, ich probiere es mal unter Oo 3.4 aus und berichte. Mal sehen woran das liegt.
zero82
****
Beiträge: 156
Registriert: Mi, 19.12.2012 11:09

Re: Diagramme ausblenden

Beitrag von zero82 »

hi,

ja es ist genau so wie du sagtest. Bei oOo funktioniert das Makro ohne Fehlermeldung aber das Diagramm wird nicht aus- bzw. eingeblendet. Mhhh...
F3K Total
********
Beiträge: 3723
Registriert: Mo, 28.02.2011 17:49

Re: Diagramme ausblenden

Beitrag von F3K Total »

Na, für OOo 3.4.1 habe ich doch den zweiten Code gepostet.
Gruß R
Antworten