2016-08-01 15 views
-1

Ich habe ein Problem mit der Vorbereitung von Makro, die 3 Bereiche in Blatt auswählen und dann neues Blatt mit 3 Charts aus diesen Daten erstellen würde. Wie kann ich einen vorbereiten? Hier ist, was ich in diesem Moment habe, aber nicht funktioniert: ActiveChart.Location Where:="Inwestycje wykresy" ist markiert und 'Type missmatch' Fehler tritt auf. Muss ich auch die Abmessungen und Position der Diagramme angeben? Hier ist mein Code:Excel VBA mehrere Diagramme in neues Blatt

Sub InwestycjeWykresy() 
Range("B3:N5").Select 
Charts.Add 
ActiveChart.ChartType = xlColumnClustered 
ActiveChart.SetSourceData Source:=Sheets("Inwestycje").Range("B3:N5"), PlotBy:=xlRows 
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Inwestycje wykresy" 
With ActiveChart 
    .HasTitle = True 
    .ChartTitle.Characters.Text = "Alerty" 
End With 
Worksheets("Inwestycje").Activate 
Range("B6:N7").Select 
Charts.Add 
ActiveChart.ChartType = xlColumnClustered 
ActiveChart.SetSourceData Source:=Sheets("Inwestycje").Range("B6:N7"), PlotBy:=xlRows 
ActiveChart.Location Where:="Inwestycje wykresy" 
With ActiveChart 
    .HasTitle = True 
    .ChartTitle.Characters.Text = "Eskalacje" 
End With 
Worksheets("Inwestycje").Activate 
Range("B8:N10").Select 
Charts.Add 
ActiveChart.ChartType = xlColumnClustered 
ActiveChart.SetSourceData Source:=Sheets("Inwestycje").Range("B8:N10"), PlotBy:=xlRows 
ActiveChart.Location Where:="Inwestycje wykresy" 
With ActiveChart 
    .HasTitle = True 
    .ChartTitle.Characters.Text = "Nadzor" 
End With 
End Sub 

Antwort

0

Auf dem zweiten und dritten Male, wie Sie Sie zu einer vorhandenen Blatt hinzuzufügen sind versuchen müssen ActiveChart.Location Where:=xlLocationAsObject, Name:="Inwestycje wykresy"

Ich habe es nicht versucht zu tun, aber this würde bedeuten, dass wäre die richtige Syntax.


Auf Ihrem weiteren Kommentare um die Positionierung Sie so etwas wie benötigen:

With ActiveChart 
    .HasTitle = True 
    .ChartTitle.Characters.Text = "Alerty" 
    With .Parent 
     .Height = 325 
     .Width = 500 
     .Top = 100 
     .Left = 100 
    End With 
End With 
+0

Dank Tim, es löste mein Fehler! Aber jetzt habe ich diese 3 Diagramme in einem neuen Blatt, aber sie sind nicht richtig lokalisiert - zuerst deckt man das ganze Blatt und zwei andere sind klein und bedecken sich gegenseitig. Wahrscheinlich muss ich einige Informationen über ihre Größen und Position enthalten – lucass3231

+0

[This] (http://peltiertech.com/Excel/ChartsHowTo/ResizeAndMoveAChart.html) geht in einige Details über den besten Weg, um das zu erreichen. –

+0

Ich habe diese zu jedem Chart mit ActiveChart.Parent .HasTitle = True .ChartTitle.Characters.Text = "alerty" .Height = 325 'die Größe .Width = 500' die Größe .Top = 100 'neu positionieren .Left = 100 'reposition Ende mit – lucass3231