Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datenbereich für Diagramme über Makro

Datenbereich für Diagramme über Makro
05.01.2006 11:28:17
Matthias
Hallo,
ich komme einfach nicht weiter.
Folgendes Problem:
Ich habe eine Combobox, in der alle Tabellenblattnamen eingelesen werden. So weit so gut.
Dann habe ich ein Makro für ein Kreisdiagramm geschrieben, dass sich bei Klick aktualisiert:

Private Sub Diagramm3_BeiKlick()
Dim chtChart As Chart
Dim intIndex As Integer
For intIndex = 6 To 25
If ActiveSheet.Cells(intIndex, 32).Value = "" Then Exit For
Next intIndex
Set chtChart = ActiveSheet.ChartObjects(1).Chart
chtChart.SetSourceData _
Source:=ActiveSheet.Range(Cells(6, 32), Cells(intIndex - 1, 32))
chtChart.Axes(xlCategory).CategoryNames = _
ActiveSheet.Range(Cells(6, 4), Cells(intIndex - 1, 4))
Set chtChart = Nothing
End Sub

Nun mein Problem:
Ich möchte, dass ich ein Tabellenblatt über die Combobox auswählen kann und sich der Datenbereich des Diagrammes dann auf die Daten dieses Blattes bezieht.
Ich danke für eure Hilfe.
lg Matthias
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenbereich für Diagramme über Makro
05.01.2006 11:58:57
Eugen
hi
hier dein code

Private Sub Diagramm3_BeiKlick()
Dim chtChart As Chart
Dim intIndex As Integer
For intIndex = 6 To 25
If ActiveSheet.Cells(intIndex, 32).Value = "" Then Exit For
Next intIndex
'hier mein code
for i = 1 to sheets.Count
if sheets(i).name = combobox1.value then exit for
next i
' in i steht jetzt das zu selektierende sheet
sheets(i).select
' sheets(i) ist jetzt activesheet
' und nun mit deinem code weiter
'sollte eigentlich funzen
Set chtChart = ActiveSheet.ChartObjects(1).Chart
chtChart.SetSourceData _
Source:=ActiveSheet.Range(Cells(6, 32), Cells(intIndex - 1, 32))
chtChart.Axes(xlCategory).CategoryNames = _
ActiveSheet.Range(Cells(6, 4), Cells(intIndex - 1, 4))
Set chtChart = Nothing
End Sub

mfg
Anzeige
AW: Datenbereich für Diagramme über Makro
05.01.2006 13:24:10
Matthias
Hallo Eugen,
beim Kompilieren zeigt er mir bei dieser Zeile
if sheets(i).name = combobox1.value then exit for
den Laufzeitfehler '424':
Objekt erforderlich
an.
Matthias
AW: Datenbereich für Diagramme über Makro
05.01.2006 14:25:52
Matthias
Hallo,
habe es jetzt so geschrieben, aber immer noch ein Problem.
Das Makro springt jetzt in die gewählte Tabelle aber will natürlich dort in ein Diagramm schreiben. Soll aber in das Diagramm1 in Blatt "Charts" schreiben.

Private Sub ComboBox1_Change()
For i = 1 To Sheets.Count
If Sheets(i).Name = ComboBox1.Value Then Exit For
Next i
Sheets(i).Select
Dim chtChart As Chart
Dim intIndex As Integer
For intIndex = 6 To 25
If ActiveSheet.Cells(intIndex, 32).Value = "" Then Exit For
Next intIndex
Set chtChart = ActiveSheet.ChartObjects(1).Chart
chtChart.SetSourceData _
Source:=ActiveSheet.Range(Cells(6, 32), Cells(intIndex - 1, 32))
chtChart.Axes(xlCategory).CategoryNames = _
ActiveSheet.Range(Cells(6, 4), Cells(intIndex - 1, 4))
Set chtChart = Nothing
End Sub

Danke für eure Hilfe.
Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige