Guten Abend
Das folgende Makro kopiert das Diagramm(1) in der Tabelle 1 und fügt es als Bild in die Tabelle ein.
Sub Diagr\_als\_Grafik\_kopieren()
With Worksheets("Tabelle1").ChartObjects(1)
.CopyPicture Format:=xlPicture
End With
ActiveSheet.Paste
End Sub
Ich hätte das Makro gern so angepasst, dass irgendein angeklicktes Diagramm in einer x-beliebigen Tabelle kopiert wird, nicht ausschliesslich das Diagramm(1) in Tabelle 1.
Ich stelle mir das etwa so vor
With Selected.Chart usw.
oder: With ActiveChart usw.
Das haut aber nicht hin. Kann mir jemand von Euch sagen, wie ich das formulieren muss?
Vielen Dank für Eure Hilfe und viele Grüsse
Niclaus
Grüezi Niclaus
Ich hätte das Makro gern so angepasst, dass irgendein
angeklicktes Diagramm in einer x-beliebigen Tabelle kopiert
wird, nicht ausschliesslich das Diagramm(1) in Tabelle 1.
Ich stelle mir das etwa so vor
With Selected.Chart usw.
oder: With ActiveChart usw.
Das haut aber nicht hin. Kann mir jemand von Euch sagen, wie
ich das formulieren muss?
Versuche es mal so (in xl2007 hat das geklappt, wenn eine Zelle spezifisch angewählt worden ist:
ActiveChart.ChartArea.Copy
Range("A40").Select
ActiveSheet.Pictures.Paste
Mit freundlichen Grüssen
Thomas Ramel
Versuche es mal so (in xl2007 hat das geklappt, wenn eine
Zelle spezifisch angewählt worden ist:
ActiveChart.ChartArea.Copy
Range(„A40“).Select
ActiveSheet.Pictures.Paste
Salü Thomas
Vile dank. - Ich ha ds makro ä so gschriebe:
Sub test()
ActiveChart.ChartArea.Copy
Range("A40").Select
ActiveSheet.Pictures.Paste
End Sub
De iberchum ich ä Fehlermeldig
Laufzeitfehler ‚91‘: Objektvariable oder With-Blockvariable nicht festgelegt.
Liebi grüess
Niclaus
Bitte an Reinhard, als Dolmetscher einzuspringen, falls das jemand nicht verstehen sollte.
Ich benutze Excel 2010 - Niclaus
Grüezie Niclaus,
Sub test()
ActiveChart.ChartArea.Copy
Range(„A40“).Select
ActiveSheet.Pictures.Paste
End Sub
De iberchum ich ä Fehlermeldig
Laufzeitfehler ‚91‘: Objektvariable oder With-Blockvariable
nicht festgelegt.
naja, die kommt z.B. dann wenn du kein Diagramm markiert hast.
Bitte an Reinhard, als Dolmetscher einzuspringen, falls das
jemand nicht verstehen sollte.
Gerne, ich hab ja das schweizer idiotikum unterm kopfkissen und weiß alles.
Aber selbstverständlich, wenn Thomas das nicht versteht übersetze ich ihm das sehr gerne *grinskicher*
Gruß
Reinhard
Fehlermeldung
Laufzeitfehler ‚91‘: Objektvariable oder With-Blockvariable nicht festgelegt.
naja, die kommt z.B. dann wenn du kein Diagramm markiert hast.
Genau so wars dummerweise! Ich werde älter!
Vielen Dank Niclaus
Grüezi Niclaus
Fehlermeldung
Laufzeitfehler ‚91‘: Objektvariable oder With-Blockvariable nicht festgelegt.
naja, die kommt z.B. dann wenn du kein Diagramm markiert hast.
Das könntest Du noch wie folgt abfangen:
If Selection.Parent.Type = -4169 Then
ActiveChart.ChartArea.Copy
Range("A40").Select
ActiveSheet.Pictures.Paste
End If
Mit freundlichen Grüssen
Thomas Ramel
Grüezi Niclaus
If Selection.Parent.Type = -4169 Then
ActiveChart.ChartArea.Copy
Range(„A40“).Select
ActiveSheet.Pictures.Paste
End If
Noch etwas klarer wird es vielleicht auf diese Weise:
If Typename(Selection) = "CartArea" Then
ActiveChart.ChartArea.Copy
Range("A40").Select
ActiveSheet.Pictures.Paste
End If
Mit freundlichen Grüssen
Thomas Ramel
Noch etwas klarer wird es vielleicht auf diese Weise:
If Typename(Selection) = „CartArea“ Then
ActiveChart.ChartArea.Copy
Range(„A40“).Select
ActiveSheet.Pictures.Paste
End If
Vielen Dank Thomas
Sehr gut!
Ich habe das Makro abgeändert, damit ich die Zielzelle - hier Range(„A40“) - frei wählen kann:
Sub Diagramm\_kopieren()
' Kopiert das ausgewählte Diagramm an eine zu bestimmende Stelle
Dim rngZielbereich As Range
If TypeName(Selection) = "ChartArea" Then
ActiveChart.ChartArea.Copy
Set rngZielbereich = Application.InputBox( \_
"Bitte Ziel-Zelle markieren", Type:=8)
rngZielbereich.Select
ActiveSheet.Pictures.Paste
End If
End Sub
Was meinst Du als Profi dazu?
Ganz herzlichen Dank für Deine Hilfe und Unterstützung!
Niclaus
Grüezi Niclaus
Ich habe das Makro abgeändert, damit ich die Zielzelle - hier
Range(„A40“) - frei wählen kann:
Was meinst Du als Profi dazu?
Namen sind nur Schall und Rauch… 
Ich hätte das auch so gelöst und meine sowas in meinen Tests auch eingebaut zu haben. Prüfe mal ob nach dem Selektieren einer Zelle der Inhalt der Zwischenablage (die Grafik eben) noch vorhanden ist oder ob sie ggf gelöscht worden ist. Ist das nicht der Fall, so ist obiges eine sehr flexible Lösung.
Mit freundlichen Grüssen
Thomas Ramel