Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1360to1364
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

VBA

VBA
24.05.2014 02:12:43
Oliver

Hi Leute,
ich habe ein Makro, das mir ein eingebettetes Balkendiagramm (Chartobjects.chart) aus zwei Datenreihen erstellt und dieses dann nach meinen Vorstellungen anpasst. Eines bekomme ich allerdings noch nicht hin: Ich möchte die Beschriftungen der y- und x-Achse verändern. An der y-Achse stehen im Moment nur "nackte" Zahlen; dort möchte ich hinter die Zahlen noch ein "%"-Zeichen setzen. An der x-Achse steht "Trade Nr. 1", "Trade Nr. 2", "Trade Nr. 3" ... (siehe Foto). Dort soll aber nur "1", "2", "3" ... stehen.
Userbild
Wer kann mir sagen, wie ich vorgehen muss?
Ich danke Euch sehr!
Lieben Gruß Oliver

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA
24.05.2014 09:35:18
Hajo_Zi
Hallo Oliver,
schreibe die Werte entsprechend im Quellbereich hin.

AW: VBA
24.05.2014 12:25:13
Oliver
Hi Hajo,
das möchte ich aber nicht. Geht es denn nicht anders?
Gruß Oliver

AW: VBA
24.05.2014 12:25:24
Oliver
Hi Hajo,
das möchte ich aber nicht. Geht es denn nicht anders?
Gruß Oliver

AW: VBA
24.05.2014 13:36:30
Ewald
Hallo Oliver,
ohne dein Makro zu kennen ist es nicht einfach das richtige zu raten.
Wenn du nur den Quellbereich übergibst,was hindert dich denn daran, die Daten in einem anderen Bereich aufzuarbeiten und dann diesen Bereich zu übergeben.
Gruß Ewald

AW: VBA
26.05.2014 12:48:25
Oliver
Hi Ewald,
was hindert dich denn daran, die Daten in einem anderen Bereich aufzuarbeiten und dann diesen Bereich zu übergeben
Das ist in meinen Augen eine Notlösung, weil ich das Sheet dadurch unnötig "aufblase".
Hier mal mein Code:
Sub DiagrammGewinnverteilung()
Dim AswWks As Worksheet
Set AswWks = ThisWorkbook.Worksheets(2)
Dim CO As ChartObject
Dim CH As Chart
Set CO = AswWks.ChartObjects.Add(700, 16, 400, 200)
'1. Zahl: Abstand vom linken Rand 2. Zahl: Abstand vom oberen Rand 3. Zahl: Breite 4.  _
Zahl: Höhe
Set CH = CO.Chart
Dim Tradeanzahl As Long, WinCol As Long, AswRow As Long
Tradeanzahl = AswWks.Cells(4, 3).Value
WinCol = 3
AswRow = 25
With CH
.ChartType = xlColumnClustered
.SetSourceData AswWks.Range(Cells(AswRow + 1, WinCol - 1), Cells(AswRow + Tradeanzahl,  _
WinCol))
.HasLegend = False
.HasTitle = True
.ChartTitle.Text = "Gewinnverteilung"
.ChartTitle.Font.Underline = True
.ChartTitle.Font.Bold = False
.ChartTitle.Font.Size = 14
.Axes(xlCategory, xlPrimary).TickLabels.Delete
End With
End Sub
Lieben Gruß Oliver!

Anzeige
AW: VBA
26.05.2014 15:57:17
Ewald
Hallo Oliver,
die Ursache ist doch das du im Chart was anderes als die Zellenwerte haben willst, also mußt du umwandeln.
Du kannst es ja auch mit einem Array probieren, allerdings geht dann die Aktualisierung verloren.
Gruß Ewald

AW: VBA
26.05.2014 23:51:49
Oliver
Du kannst es ja auch mit einem Array probieren, allerdings geht dann die Aktualisierung verloren.
Dass die Aktualisierung verlorenginge, ist kein Problem. Kannst du mir bitte näher erläutern, wie die Array-Variante funktionieren würde? Habe gerade keine Idee, was du damit meinen könntest. Danke!
Lieben Gruß Oliver

AW: VBA
27.05.2014 00:17:40
Ewald
Hallo Oliver,
hier ein einfaches Beispiel
Dim c As Chart
Dim s As Series
Dim myData As Variant
Set c = ActiveChart
Set s = c.SeriesCollection(1)
myData = Array(9, 6, 7, 1) ' or whatever
s.Values = myData
Gruß Ewald

Anzeige
AW: VBA
28.05.2014 01:24:00
Oliver
ah ok! Ja so kann ich mein Problem lösen. Herzlichen Dank dir Ewald!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige