Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blasendiagramm

Blasendiagramm
13.11.2006 11:08:21
Katja
Hallo,
wie müssen x-, y-, Größenwerte UND den Namen der Reihe angeordnet sein, damit der Diagramm-Assistent diese genauso ausgibt?
Wenn ich z.B. zwei Reihen darstellen möchte klappt zwar die Zuordnung der Werte, aber Excel stellt alles als eine Reihe (zwei Blasen, ein Name) dar. Daher ist eine richtige Zuordung der Reihennamen nicht möglich.
Gruß
Katja

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blasendiagramm
13.11.2006 16:36:50
fcs
Hallo Katja,
da der Assistent das nicht auf die Reihe bringt, habe ich mir nachfolgendes Makro geschrieben, das jede Zeile als eigene Datenreihe erstellt.
Beispieldaten:

Name	x	y	Größe
A	2	1	4
B	4	5	12
C	6	9	3
D	8	13	22

Diese Daten markieren, dann das Makro starten.
Das Makro kopierst du im VBA-Editor am besten in ein Modul deiner persönlichen Makro-Arbeitsmappe. Hoffe das kriegst du ohne große VBA-Kenntnisse hin.
Gruß
Franz

Sub Blasendiagramm_mit_Reihe_je_Zeile()
' Erzeugt aus selektierten Daten ein Blasendiagramm mit einer Reihe pro Zeile
' Selektion muss beinhalten:
'        1. Zeile Spalten-Überschriften (werden für Diagrammbeschriftung vorgeschlagen)
'        1. Spalte Kategorien (Beschriftung für Legende, je Kategorie wird eine Datenreihe erzeugt
'        2. Spalte X-Werte
'        3. Spalte Y-Werte
'        4. Spalte Blasengröße
Dim Daten As Range, wks As Worksheet, Reihe As Series
Set wks = ActiveSheet
Set Daten = Selection
Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlBubble
ActiveChart.Location Where:=xlLocationAsNewSheet
With wks
ActiveChart.SetSourceData Source:=.Range(.Cells(Daten.Row + 1, Daten.Column), _
.Cells(Daten.Row + Daten.Rows.Count - 1, Daten.Column + 3)), PlotBy:=xlRows
End With
Application.ScreenUpdating = False
For i = ActiveChart.SeriesCollection.Count To 2 Step -1
ActiveChart.SeriesCollection(i).Delete
Next
For i = 1 To Daten.Rows.Count - 1
Set Reihe = ActiveChart.SeriesCollection(i)
With Reihe
.Name = "=" & wks.Name & "!R" & Daten.Row + i & "C" & Daten.Column
.XValues = "=" & wks.Name & "!R" & Daten.Row + i & "C" & Daten.Column + 1
.Values = "=" & wks.Name & "!R" & Daten.Row + i & "C" & Daten.Column + 2
.BubbleSizes = "=" & wks.Name & "!R" & Daten.Row + i & "C" & Daten.Column + 3
.ApplyDataLabels Type:=xlDataLabelsShowBubbleSizes 'Wert Blasengröße wird angezeigt
End With
If i <> Daten.Rows.Count - 1 Then
ActiveChart.SeriesCollection.NewSeries
End If
Next
Application.ScreenUpdating = True
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = InputBox("Diagrammtitel", "Neues Diagramm", Daten(1, 4))
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = InputBox("Beschriftung X-Achse:", "Neues Diagramm", Daten(1, 2))
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = InputBox("Beschriftung Y-Achse:", "Neues Diagramm", Daten(1, 3))
End With
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige