Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
712to716
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
712to716
712to716
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige