MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 16.04.2018, 16:42   #1
boulala
MOF User
MOF User
Standard VBA - Test ob eine Shape einen Chart enthält

Hallo zusammen,

in meinem Excel Sheet gibt es Shapes. Jede Shapes besteht aus einem Chart 5 Textboxen und 5 Kreisen.

Was ich nun vorhabe ist per VBA zu testen, ob eine Shape einen Chart enthält und ob dieser eine Überschrift hat. Falls JA dann wird das Shape kopiert und in ein zweites Sheet als Bild reinkopiert.

Was bisher klappt ist folgendes: Checke jeden Chart ob er eine Überschrift mit mehr als 0 Zeichen enthält, falls ja dann Copy&Paste in das Sheet Diagramm. Was fehlt ist, kopiere das Shape welches den Chart enthält, anstatt nur den Chart. Ist das irgendwie möglich? Oder vllt. ist mein Weg auch zu kompliziert?

Code:

Sub chartskopieren()

Dim cht As ChartObject

    For Each cht In Worksheets("Summary_Table").ChartObjects
    
        cht.Activate
        
                If cht.Chart.HasTitle = True Then
                
                     If Len(cht.Chart.ChartTitle.Text) > 0 Then
                     
                      Debug.Print cht.Name

                      cht.CopyPicture
                      Worksheets("Diagramm").Paste
                     
                     End If
                     
                End If
                
    Next cht

End Sub
Danke und viele Grüße
boulala

Geändert von boulala (16.04.2018 um 16:48 Uhr).
boulala ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.04.2018, 16:53   #2
Beverly
MOF Guru
MOF Guru
Standard

Hi,

lade bitte eine Beispielmappe hoch.


GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.04.2018, 08:28   #3
boulala
Threadstarter Threadstarter
MOF User
MOF User
Standard

Mist dachte ich hätte es angehängt. Sorry.
Angehängte Dateien
Dateityp: xlsm Beispiel.xlsm (54,1 KB, 5x aufgerufen)
boulala ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.04.2018, 14:51   #4
Beverly
MOF Guru
MOF Guru
Standard

Hi,

der generell einfachste Weg in solchen Fällen ist, wenn du das Diagramm nicht mit den Shapes gruppierst sondern die Shapes direkt in das Diagramm einfügst - dazu musst du die Zeichnungsfläche des Diagramm markieren und erst dann die Shapes erstellen. Damit sollte jedes Shape mit dem Diagramm verbunden sein, es muss nichts gruppiert und alle sollten auch mit kopiert werden.

Da du jedoch den Weg der Gruppierung gewählt hast, musst du die Shapes auch als Shape ansprechen und innerhalb der Gruppierung das Diagramm "suchen" und wenn die Bedingungen erfüllt sind das Shape kopieren:

Code:

Sub DiasAlsBildKopieren()
    Dim shaShape As Shape
    Dim intNode As Integer
    For Each shaShape In ActiveSheet.Shapes
        If shaShape.Name Like "Group*" Then
            For intNode = 1 To shaShape.GroupItems.Count
                If shaShape.GroupItems(intNode).Name Like "Chart*" Then
                    If shaShape.GroupItems(intNode).Chart.HasTitle Then
                        If shaShape.GroupItems(intNode).Chart.ChartTitle.Text <> "" Then
                        shaShape.CopyPicture
                        Worksheets("Diagramm").Paste
                        End If
                    End If
                    Exit For
                End If
            Next intNode
        End If
    Next shaShape
End Sub




GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.04.2018, 15:57   #5
boulala
Threadstarter Threadstarter
MOF User
MOF User
Standard

Wow danke Beverly! Das mit dem Like in "If shaShape.Name Like "Group*" Then" kannte ich nicht, aber cooler Befehl.

Ich habe leider vorher nicht gewusst, dass man die Shapes in das Diagramm einbinden kann, so hätte ich die blöde Gruppierung umgehen können...

Viele Dank nochmal!

Grüße
boulala
boulala ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.