Button per Makro

  • #1
K

K!nG OhLe

Aktives Mitglied
Themenersteller
Dabei seit
16.05.2005
Beiträge
28
Reaktionspunkte
0
Ort
Laubsdorf
HuHu,

also ich habe folgende Frage und zwar möchte ich ein ClickButton per Makro erstellen, der dann ein Diagramm aufruft :)
Mhm mein Diagramm geht auch noch nicht so richtig... wenn ich es ausführen möchte, dann erhalte ich den Laufzeitfehler 1004 Anwendungs- oder Objektdefinierter Fehler

Code für das Diagrammmakro, vielleicht kann mal jemand nen Blick drüber werfen :)

Code:
Sub Kostendiagramm()
 Dim chtNeu As Chart
 Set chtNeu = ActiveWorkbook.Charts.Add
 With chtNeu
  .ChartType = xl3DColumnClustered
  .SetSourceData _
   Source:=ActiveWorkbook.Worksheets(Kostenberechnung) _
  .Range(F33;F54;F105;F140;F163;F181;F206), PlotBy:=xlColumns
  .Location Where:=xlLocationAsObject, _
   Name:=Kostenberechnung
 End With
 With ActiveWorkbook.ActiveChart
  .HasDataTable = False
  .SeriesCollection(1).XValues = _
   Worksheets(Kostenberechnung).Range(A23;A38;A57;A116;A146;A172;A187;)
  .ApplyCustomType ChartType:=xl3DColumnClustered
  .HasTitle = True
  .ChartTitle.Characters.Text = _
   Graphische Aufteilung der Kosten
 End With
End Sub

Vielen Dank :)
 
  • #2
also den Fehler mit dem Diagramm hab ich rausbekommen :)

jetzt nur noch das Prob mit dem Button
 
  • #3
also du weisst allgemein nicht wie das mit dem button geht oder weisst nicht wie dem ein makro zuweisen?

Hier ma ne kleine Anleitung


  • [li]File öffnen[/li]
    [li]Unter Ansicht -> Symbolleiste machst du ein Häckchen bei Steuerelement - Toolbox[/li]
    [li]dann machste du da so ein button wo du magst[/li]
    [li]wenn du das hast, formel löschen die in der formelleiste ist[/li]
    [li]dann rechtsklick auf den Button -> Makro zuweisen[/li]
    [li]und dann das Makro auswählen[/li]

Falls das net das Problem ist, musst du einwenig ausführlicher beschreiben was du genau willst

mfg billy
 
  • #4
Also das mit dem Button hat mir schonmal geholfen :) so nun hab ich auf den Button ein Makro gelegt, aber wenn ich auf den Button klicke, ruft er das Makro nicht auf! :( so und im Makro selber hab ich auch noch ein paar Probleme und zwar, möchte ich, dass alle Zellen angezeigt werden, die einen Inhalt enthalten und dieses Diagramm soll dann im Tabellenblatt Kosten_Diagramm angezeigt werden und nicht im Tabellenblatt Kostenberechnung!

Code:
Sub Diagramm()
 Dim chtNeu As Chart
 Set chtNeu = ActiveWorkbook.Charts.Add
 With chtNeu
  .ChartType = xl3DColumnClustered
  .SetSourceData _
   Source:=ActiveWorkbook.Worksheets(Kostenberechnung) _
  .Range(F33:F206), PlotBy:=xlColumns
  .Location Where:=xlLocationAsObject, _
   Name:=Kostenberechnung
 End With
 With ActiveWorkbook.ActiveChart
  .HasDataTable = False
  .SeriesCollection(1).XValues = _
   Worksheets(Kostenberechnung).Range(A23:A187)
  .ApplyCustomType ChartType:=xl3DColumnClustered
  .HasTitle = True
  .ChartTitle.Characters.Text = _
   Baukosten im Überblick
 End With
End Sub

und der Code fürs Makro ist
Code:
Private Sub CmdDiagramm_Click()
  Diagramm
End Sub
zum ButtonMakro hab ich ne Frage... kommt es vielleicht dadurch, dass er das Makro nicht startet weil ich vor Diagramm kein call stehen habe? Hoffe es ist nun ein bisschen verständlicher :)
 
  • #6
also mit call gehts nicht, aber ich hab es anders hinbekommen :)
und zwar hab ich in mein Tabellenblatt, wo die ganzen Kosten drinstehen folgendes eingefügt

Code:
Private Sub CmdDiagramm_Click()
 Diagramm
End Sub

dann noch ein Button mit dem Makro drüber und fertsch :)

axo... aber wenn nun das Diagramm angezeigt wird, fehlt einiges... es wird zum Beispiel nur 1 Sektor von 7 unten in der x-Achse namentlich angezeigt... allerdings sieht man die Balken von den anderen Abschnitten aber nicht ihre Namen :( weiß jmd rat?
 
  • #7
Hi K!nG OhLe,

vielleicht liegt das daran, daß du sehr viele leere Zellen in deinem Bereichen hast.

Im ersten Anlauf hattest Du 2 x 7 Werte angegeben. Such dir doch in deiner Tabelle einen leeren Platz, wo du diese zusammenfassen kannst.
1.Zelle z.B. mit = A23, 2. Zelle mit = A38, ... und für F... ebenso.
Dann gibst Du diese beiden Bereiche in deinem Diagramm-Makro an.

Gruß Matjes :)
 
  • #8
HuHu also ich hab gestern noch sehr lange gesessen, aber ich hab es nun hinbekommen!!! :) Mein Code für dieses Makro ist folgender (falls jemand mal auch so etwas brauch :) )

Code:
Sub Diagramm()

  Charts.Add
  ActiveChart.ChartType = xlColumnClustered
  ActiveChart.SetSourceData Source:=Sheets(Kostenberechnung).Range(F220), _
    PlotBy:=xlRows
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection(1).XValues = ={Diagramm Baukosten}
  ActiveChart.SeriesCollection(1).Values = =Kostenberechnung!R33C6
  ActiveChart.SeriesCollection(1).Name = =Kostenberechnung!R23C1
  ActiveChart.SeriesCollection(2).XValues = ={Diagramm Baukosten}
  ActiveChart.SeriesCollection(2).Values = =Kostenberechnung!R54C6
  ActiveChart.SeriesCollection(2).Name = =Kostenberechnung!R38C1
  ActiveChart.SeriesCollection(3).XValues = ={Diagramm Baukosten}
  ActiveChart.SeriesCollection(3).Values = =Kostenberechnung!R105C6
  ActiveChart.SeriesCollection(3).Name = =Kostenberechnung!R57C1
  ActiveChart.SeriesCollection(4).XValues = ={Diagramm Baukosten}
  ActiveChart.SeriesCollection(4).Values = =Kostenberechnung!R140C6
  ActiveChart.SeriesCollection(4).Name = =Kostenberechnung!R116C1
  ActiveChart.SeriesCollection(5).XValues = ={Diagramm Baukosten}
  ActiveChart.SeriesCollection(5).Values = =Kostenberechnung!R163C6
  ActiveChart.SeriesCollection(5).Name = =Kostenberechnung!R146C1
  ActiveChart.SeriesCollection(6).XValues = ={Diagramm Baukosten}
  ActiveChart.SeriesCollection(6).Values = =Kostenberechnung!R181C6
  ActiveChart.SeriesCollection(6).Name = =Kostenberechnung!R172C1
  ActiveChart.SeriesCollection(7).XValues = ={Diagramm Baukosten}
  ActiveChart.SeriesCollection(7).Values = =Kostenberechnung!R206C6
  ActiveChart.SeriesCollection(7).Name = =Kostenberechnung!R187C1
  ActiveChart.SeriesCollection(1).XValues = _
    ={Übersicht Kosten der einzelnen Bereiche}
  ActiveChart.SeriesCollection(2).XValues = _
    ={Übersicht Kosten der einzelnen Bereiche}
  ActiveChart.SeriesCollection(3).XValues = _
    ={Übersicht Kosten der einzelnen Bereiche}
  ActiveChart.SeriesCollection(4).XValues = _
    ={Übersicht Kosten der einzelnen Bereiche}
  ActiveChart.SeriesCollection(5).XValues = _
    ={Übersicht Kosten der einzelnen Bereiche}
  ActiveChart.SeriesCollection(6).XValues = _
    ={Übersicht Kosten der einzelnen Bereiche}
  ActiveChart.SeriesCollection(7).XValues = _
    ={Übersicht Kosten der einzelnen Bereiche}
  ActiveChart.Location Where:=xlLocationAsObject, Name:=Diagramm_Kosten
  With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = Übersicht der Baukosten
    .Axes(xlCategory, xlPrimary).HasTitle = False
    .Axes(xlValue, xlPrimary).HasTitle = False
  End With
End Sub
 
Thema:

Button per Makro

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben