Benutzer mit den meisten Antworten
Excel: 2 Kreisdiagramme, deren Größe von einanander abhängt.

Frage
-
Hallo!
Ist es möglich, zwei Kreisdiagramme zu erstellen, der Größe proportional zu einem bestimmten Wert dargestellt wird?
Beispiel: Bevölkerungszuwachs. Das eine Diagramm zeigt die Bevölkerungsverteilung je Kontinent für das Jahr 1990 an. Das zweite Diagramm zeigt die Verteilung für das Jahr 2010 an, mit der selben Unterteilung nach Kontinent. Das Diagramm (bzw. der Durchmesser) ist aber x Prozent größer als beim ersten Diagramm, da die Bevölkerung ja auch um x Prozent angewachsen ist.
Kann man das in Excel darstellen, möglichst ohne Macros?
Danke für alle Tipps!
Gerrit
Antworten
-
Hallo Gerrit,
von dem was ich weiß, nein. Ohne Macros geht es nicht.
Aber mit Macros geht es so:
Unten Workbook_Open Event solltest Du folgenden Code hinzufügen:
Private Sub Workbook_Open()
Dim width1, height1
width1 = ActiveSheet.Shapes("Chart 1").Width
height1 = ActiveSheet.Shapes("Chart 1").HeightActiveSheet.ChartObjects("Chart 2").Activate
ActiveSheet.Shapes("Chart 2").Width = width1 * (ActiveSheet.Range("b3").Value / ActiveSheet.Range("b2").Value)
ActiveSheet.Shapes("Chart 2").Height = height1 * (ActiveSheet.Range("b3").Value / ActiveSheet.Range("b2").Value)
End SubDen Name für jede Diagramme kannst Du via Record Macro finden. Drucke Record Macro Button, ändere die Größe jedes Diagramms ein bisschen, dann drucke STOP RECORD. Drucke nun Strg Taste + F11 und im Module 1 solltest Du die richtigen Namen finden.
Ich hoffe das die Antwort Dir weiterhelfen wird :)
Grüße,
Alex
- Als Antwort markiert Gerrit Horeis Montag, 14. November 2011 12:43
Alle Antworten
-
Hallo Gerrit,
von dem was ich weiß, nein. Ohne Macros geht es nicht.
Aber mit Macros geht es so:
Unten Workbook_Open Event solltest Du folgenden Code hinzufügen:
Private Sub Workbook_Open()
Dim width1, height1
width1 = ActiveSheet.Shapes("Chart 1").Width
height1 = ActiveSheet.Shapes("Chart 1").HeightActiveSheet.ChartObjects("Chart 2").Activate
ActiveSheet.Shapes("Chart 2").Width = width1 * (ActiveSheet.Range("b3").Value / ActiveSheet.Range("b2").Value)
ActiveSheet.Shapes("Chart 2").Height = height1 * (ActiveSheet.Range("b3").Value / ActiveSheet.Range("b2").Value)
End SubDen Name für jede Diagramme kannst Du via Record Macro finden. Drucke Record Macro Button, ändere die Größe jedes Diagramms ein bisschen, dann drucke STOP RECORD. Drucke nun Strg Taste + F11 und im Module 1 solltest Du die richtigen Namen finden.
Ich hoffe das die Antwort Dir weiterhelfen wird :)
Grüße,
Alex
- Als Antwort markiert Gerrit Horeis Montag, 14. November 2011 12:43
-
Danke Alex, das war genau das, was ich gesucht habe...Schade, dass Excel das nicht über die Ribbons anbietet. Eine Kollegin wollte sowas für die Statistik haben, die Verwendung von Macros möchte ich ihr aber nicht zumuten....
Trotzdem Danke für Deine Antwort!