WinFuture-Forum.de: [gelöst] Diagramm Aus Excel Mit Macro Erstellen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Software
Seite 1 von 1

[gelöst] Diagramm Aus Excel Mit Macro Erstellen


#1 Mitglied ist offline   mindbreaker 

  • Gruppe: aktive Mitglieder
  • Beiträge: 111
  • Beigetreten: 23. Juni 04
  • Reputation: 0

geschrieben 13. Februar 2006 - 10:18

Also ich hab folgendes Problem:

Excel Tabelle: 9 Spalten , X Zeilen

es soll per Macro aus einer Excel Liste ein Diagramm erstellt werden, welches zwei Spalten auswertet in denen sich Zahlen befinden.

Die Anzahl der Datensätze variiert jedoch jeden Monat.

Wenn ich das Macro über den Recorder erstelle werden jedoch feste Bereiche in das Macro geschrieben:

Bsp.: R1C1:R1C10
Somit müsste ich quasi jedes mal bevor ich das Macro starte den Bereich anpassen.

- ist der Bereich zu groß -> werden auch die leeren Zeilen mit ausgewertet und das Diagramm unleserlich
- ist der Bereich zu klein -> werden nicht alle Datensätze ausgewertet

Ich bräuchte somit eine Möglichkeit , einen großen Bereich festzulegen 1-1000 und darin nur die Datensätze auswerten zu lassen, welche auch Daten beinhalten.

Bzw kennt ihr bestimmt eine einfachere Lösung :-)

Das bisherige Macro:
------------------------------------------------------------------------------------------------------------------
Sub Auswerten()
'
' Auswerten Makro
'
Columns("B:C").Select
Columns("B:C").EntireColumn.AutoFit
Columns("D:D").Select
Selection.NumberFormat = "0"
Range("A1").Select
Charts.Add
ActiveChart.ChartType = xl3DBarClustered
ActiveChart.SetSourceData Source:=Sheets("Liste").Range("A1:I65"), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).XValues = "=Liste!R3C4:R65C4"
ActiveChart.SeriesCollection(1).Values = "=Liste!R3C9:R65C9"
ActiveChart.SeriesCollection(1).Name = "=Liste!R1C1"
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:= _
"Balkendiagramm"
With ActiveChart
.HasTitle = False
.Axes(xlCategory).HasTitle = True
'.Axes(xlCategory).AxisTitle.Characters.Text = "Projekte"
.Axes(xlSeries).HasTitle = False
.Axes(xlValue).HasTitle = True
.Axes(xlValue).AxisTitle.Characters.Text = "Zeit in Tagen"
End With
ActiveChart.HasLegend = False
ActiveChart.HasDataTable = False
ActiveChart.PlotArea.Select
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.TickLabelSpacing = 1
.TickMarkSpacing = 1
.ReversePlotOrder = False
.AxisBetweenCategories = True
End With
End Sub

------------------------------------------------------------------------------------------------------------------

Dieser Beitrag wurde von mindbreaker bearbeitet: 14. Februar 2006 - 09:12

0

Anzeige



Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0