Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
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
Inhaltsverzeichnis

Datenbereich in Makro festlegen

Datenbereich in Makro festlegen
12.03.2015 14:52:59
Lars
Hallo,
ich habe leider noch keinerlei VBA Kenntnisse und eine Frage zu einem Makro von Franz, welcher in folgendem Beitag aus 2006 vorkommt:

Hallo,
ich habe folgendes Problem:
Ich möchte aus Datensätzen der Form
-------- Aktien Renten ...
Ertrag 18,76% 3,04% ...
Risiko 12,09% 1,58% ...
ein Punktdiagramm von einem Makro erstellen lassen. Die Anzahl der Datensätze ist variabel. An   _
_
_
_
_
_
der X-Achse soll das Risiko, an der Y-Achse der Ertrag abgetragen werden. So soll ein  _
Datenpunkt für die verschiedenen Anlageklassen entstehen.
Ich wäre sehr dankbar, wenn mir jemand helfen könnte, wie ich die Grafik am komfortabelsten  _
erstellen kann.
Danke
Hallo Bautsch,
folgende Makros produzieren ein X-Y-Punkt-Diagramm, wobei jeder Punkt eine eigene Datenreihe  _
darstellt. Im Makro DatenbereichDiagramm legst du den Datenbereich fest. Die Subroutine  _
produziert dann das Diagramm.
Ich hoffe das hilft weiter
Gruß
Franz
Sub DatenbereichDiagramm()
Dim Daten As Range, wks As Worksheet
Set wks = ActiveSheet
Zeile = 1 ' Nummer der Zeile mit den Kategorien (Aktie, Renten etc)
Spalte = 1 ' Nummer der Spalte mit den Beschriftungen X-Y-Achse (Ertrag, Risiko)
With wks
Set Daten = .Range(.Cells(Zeile, Spalte), .Cells(Zeile + 2, .Cells(Zeile, .Columns.Count).   _
_
_
_
_
_
End(xlToLeft).Column))
End With
Call XY_diagramm_mit_Reihe_je_Spalte(Daten, wks)
End Sub
Private Sub XY_diagramm_mit_Reihe_je_Spalte(Daten As Range, wks As Worksheet)
' Erzeugt aus Bereich Daten ein XY-Punktdiagramm mit einer Reihe pro Spalte
' Bereich Daten muss beinhalten:
'        1. Spalte Beschriftung für X- und Y-Achse)
'        Spalten 2 bis X sind Datenreihen
'        1. Zeile Beschriftung Datenreihen
'        2. Zeile Y-Werte
'        3. Zeile X-Werte
Dim Reihe As Series
Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlXYScatter
ActiveChart.Location Where:=xlLocationAsNewSheet 'auf neuem Blatt
'    ActiveChart.Location Where:=xlLocationAsObject, Name:=wks.Name 'auf dem Tabellenblatt
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 & "C" & Daten.Column + i
.XValues = "=" & wks.Name & "!R" & Daten.Row + 2 & "C" & Daten.Column + i
.Values = "=" & wks.Name & "!R" & Daten.Row + 1 & "C" & Daten.Column + i
.ApplyDataLabels ShowSeriesName:=True 'Rubrik wird am Datenpunkt angezeigt
End With
If i  Daten.Rows.Count - 1 Then
ActiveChart.SeriesCollection.NewSeries
End If
Next
Application.ScreenUpdating = True
With ActiveChart
.HasLegend = False
.HasTitle = True
.ChartTitle.Characters.Text = InputBox("Diagrammtitel", "Neues Diagramm", "Rendite  _
Anlageklassen")
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = InputBox("Beschriftung X-Achse: _
_
_
_
_
_
", "Neues Diagramm", Daten(3, 1))
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = InputBox("Beschriftung Y-Achse:",  _
_
_
_
_
_
"Neues Diagramm", Daten(2, 1))
End With
End Sub

Ich habe die Daten folgender Maßen in das Sheet eingegeben:
A B C D
1 Katerogie1 Kategorie2 Kategorie3
2 Risiko 2 3 4
3 Ertrag 1% 2% 3%
Folgendes Problem: Ich weiß leider nicht, wie (bzw. wo genau) ich wie von Franz oben beschrieben den Datenbereich festlege. Wenn ich den Makro laufen lasse, erscheinen als Serie lediglich Kategorie 1 und Kategorie 2. Ich möchte den Datenbereich auf 3 Kategorien erweitern, sprich die Werte B2:D3.
Könnte mir hier jemand helfen?
Vielen Dank im Voraus!
Lars

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige