Office: (Office 2016) Diagrammformatierung geht verloren

Helfe beim Thema Diagrammformatierung geht verloren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe da mal wieder ein Problem, an dem ich fast verzweifele. Ich erstelle über ein Makro eine ganze Reihe von Diagrammen auf... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Lutz Fricke, 12. Januar 2017.

  1. Lutz Fricke Erfahrener User

    Diagrammformatierung geht verloren


    Hallo zusammen,

    ich habe da mal wieder ein Problem, an dem ich fast verzweifele.
    Ich erstelle über ein Makro eine ganze Reihe von Diagrammen auf einer ganzen Reihe von Tabellenblättern. Einen Teil dieser Diagramme blende ich aus, da sie aktuell nicht benötigt werden.
    Das funktioniert soweit gut.

    Nun zum Problem. Wenn ich die Datei speichere, anschließend wieder öffne und die ausgeblendeten Diagramme einblende, ist die Formatierung komplett anders als zuvor. Was mache ich verkehr oder woran liegt der Fehler.

    Anbei der Code, mit dem ich die Diagramme erstelle und ausblende:
    Code:
    For Each BlattSchreiben In ActiveWorkbook.Worksheets
    
        BlattSchreiben.Activate
        Anzahl = 0
        Cells(3, 1).Select
        Mat = ActiveSheet.Name
        
        If Mat <> "Leer" Then
            Do
                MIC = ActiveCell
                MatDesc = ActiveCell.Offset(-2, 1)
                MICDesc = ActiveCell.Offset(0, 1)
                        
                LetzteZeileMat = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
                LetzteSpalteMat = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
                
                NameDiagramm = Mat & " " & MIC
    '            Set Diagrammbereich = ActiveSheet.Range(Cells(19, 1), Cells(LetzteZeileMat, 6))
                Set Diagrammbereich = ActiveSheet.Cells(19, 1)
                
                With ActiveSheet.ChartObjects.Add(Anzahl * (BreiteMIC) * 60, 45, 420, 225).Chart
                    .HasLegend = False
                    .HasTitle = True
                    .Parent.Name = NameDiagramm
                    .SetSourceData Source:=Diagrammbereich
                    .ChartType = xlLine
                    With .ChartTitle
                        .Text = MatDesc & Chr(13) & MICDesc
                        With .Format.TextFrame2.TextRange.Font
                            .Size = 14
                            .Bold = msoFalse
                        End With
                    End With
                    If .SeriesCollection.Count > 0 Then
                        For Reihe = .SeriesCollection.Count To 1 Step -1
                            .SeriesCollection(Reihe).Delete
                        Next Reihe
                    End If
                    With .SeriesCollection.NewSeries
                        .XValues = "='" & Mat & "'!R20C" & ActiveCell.Column & ":R" & LetzteZeileMat & "C" & ActiveCell.Column
                        .Values = "='" & Mat & "'!R20C" & ActiveCell.Column + 2 & ":R" & LetzteZeileMat & "C" & ActiveCell.Column + 2
                        .Name = "='" & Mat & "'!R19C" & ActiveCell.Column + 2
                        .MarkerStyle = xlNone
                        With .Format
                            .Line.Visible = msoTrue
                            .Line.ForeColor.RGB = RGB(255, 192, 0)
                        End With
                    End With
                    With .SeriesCollection.NewSeries
                        .XValues = "='" & Mat & "'!R20C" & ActiveCell.Column & ":R" & LetzteZeileMat & "C" & ActiveCell.Column
                        .Values = "='" & Mat & "'!R20C" & ActiveCell.Column + 3 & ":R" & LetzteZeileMat & "C" & ActiveCell.Column + 3
                        .HasDataLabels = False
                        .Name = "='" & Mat & "'!R19C" & ActiveCell.Column + 3
                        .MarkerStyle = xlNone
                        With .Format.Line
                            .Visible = msoTrue
                            .ForeColor.ObjectThemeColor = msoThemeColorBackground1
                            .ForeColor.TintAndShade = 0
                            .ForeColor.Brightness = -0.25
                            .Transparency = 0
                        End With
                    End With
                    With .SeriesCollection.NewSeries
                        .Values = "='" & Mat & "'!R20C" & ActiveCell.Column + 5 & ":R" & LetzteZeileMat & "C" & ActiveCell.Column + 5
                        .HasDataLabels = False
                        .Name = "='" & Mat & "'!R19C" & ActiveCell.Column + 5
                        .MarkerStyle = 8
                        With .Format
                            .Line.Visible = msoFalse
                            .Fill.ForeColor.RGB = RGB(255, 0, 0)
                        End With
                    End With
                    With .SeriesCollection.NewSeries
                        .Values = "='" & Mat & "'!R20C" & ActiveCell.Column + 8 & ":R" & LetzteZeileMat & "C" & ActiveCell.Column + 8
                        .HasDataLabels = False
                        .Name = "='" & Mat & "'!R19C" & ActiveCell.Column + 8
                        .MarkerStyle = 8
                        With .Format
                            .Line.Visible = msoFalse
                            .Fill.ForeColor.RGB = RGB(146, 208, 80)
                        End With
                    End With
                End With
                
                ActiveCell.Offset(0, BreiteMIC).Activate
                Anzahl = Anzahl + 1
               
            Loop Until ActiveCell.Column = 1 Or ActiveCell.Column > LetzteSpalteMat
        
            Cells(3, 1).Select
            Do
            'If Mat <> "Leer" Then
                If ActiveCell.Offset(0, BreiteMIC - 2) = "" Then
                    For Spalte = 0 To BreiteMIC - 1
                        Columns(ActiveCell.Column + Spalte).Hidden = True
                    Next Spalte
                Else
                    Columns(ActiveCell.Column + 4).Hidden = True
                    Columns(ActiveCell.Column + 7).Hidden = True
                End If
                ActiveCell.Offset(0, BreiteMIC).Activate
                Anzahl = Anzahl + 1
        
            Loop Until ActiveCell.Column = 1 Or ActiveCell.Column > LetzteSpalteMat
        
        End If
        Cells(1, 1).Activate
        
    Next BlattSchreiben
    Ich hoffe, Ihr könnt mir helfen.

    Vielen Dank,
    Lutz
     
    Lutz Fricke, 12. Januar 2017
    #1
  2. lupo1
    lupo1 Tutorial Guru
    Mehrere Behauptungen, von denen einige oder alle auch falsch sein können (bin kein Diagrammfreak und nehme auch nicht Bezug auf Deinen Code):

    1. Ausblenden oder Zeilenhöhen/Spaltenbreitenänderungen oder gelöschte/eingefügte Zellen mögen Diagramme gar nicht.

    2. Falls das Diagramm eingebettet ist und kein eigenes Blatt, empfiehlt es sich, es mit den entsprechend dokumentierten Tastenkombis an die Zellenränder anzudocken.

    3. Diagramme haben sehr viele variable Größen. Verringere sie. Verwende feste Obergrenzen, wo möglich.

    4. Halte sie einfach. Je komplexer, desto unterschiedlicher sind sie auch auf verschiedenen Rechnern, da Windows ein grafisches Interface ist.

    5. Zwischen Bildschirm und Ausdruck gibt es die Ungefähr-12-zu-13-Diskrepanz zwischen Höhe und Breite. Fällt besonders bei Kreisdiagrammen auf.
     
  3. Beverly
    Beverly Erfahrener User
    Hi Lutz,

    wenn ich das richtig sehe, blendest du nicht die Diagramme aus sondern die Spalten, auf denen die Diagramme liegen - das ist ein Unterschied und das "Verstecken" von eingebetteten Objekten (welches die Diagramme ja sind) generell durch Ausblenden der Zeilen/Spalten bereitet Excel schon seit langem Probleme. Ich würde dir deshalb empfehlen, nur die Diagramme zu erstellen, deren Spalten nicht ausgeblendet werden und bei Bedarf (Einblenden der Spalten) die relevanten Diagramme neu zu erstellen und sie, falls die Spalten wieder ausgeblendet werden, vorher wieder zu löschen.

    Bis später,
    Karin
     
    Beverly, 13. Januar 2017
    #3
  4. Lutz Fricke Erfahrener User

    Diagrammformatierung geht verloren

    Hallo Beverly,

    das ist richtig, ich blende die Spalten aus, womit auch die Diagramme verschwinden.
    Geht's auch anders?

    Nachdem ich die Ergebnisse gerne an Kollegen verteilen möchte, ist das mit dem erneuten Erstellen nicht möglich.

    Gruß,
    Lutz
     
    Lutz Fricke, 13. Januar 2017
    #4
  5. Beverly
    Beverly Erfahrener User

    Ja, indem du nach dem Einblenden der Spalten die Diagramme entsprechend neu formatierst.
    Oder erstelle die betreffenden Diagramme in einem Spaltenbereich der nicht ausgeblendet wird und setze die Diagramme auf Visible = False. Beim Einblenden der Spalten setzt du sie auf Visible = True und verschiebst sie an die entsprechende Position. Beim Ausblenden der Spalten dann wieder vica verse.





    Weshalb ist das nicht möglich?

    Bis später,
    Karin
     
    Beverly, 13. Januar 2017
    #5
  6. Lutz Fricke Erfahrener User
    Hallo Karin,

    geht natürlich schon, ABER...

    Arbeitsmappen mit Makros sind bei uns etwas schwierig. Da tauchen komische Sicherheitsmeldungen auf oder es funktioniert nicht (weil aus Angst das Makro nicht zugelassen wird) oder ...

    Daher habe ich mir angewöhnt nur Mappen ohne Makros zu verteilen.

    Oder kennst Du einen Weg die Diagramme automatisch zu erstellen ohne VBA zu verwenden?

    gruß,
    Lutz
     
    Lutz Fricke, 13. Januar 2017
    #6
  7. lupo1
    lupo1 Tutorial Guru
    Man kann alles in einem neuen Workbook erstellen lassen, ohne Makros, und wenn man will, auch ohne Formeln, oder sogar ohne Daten, wenn man das Diagramm als Bild speichert.

    Die Makros sind ja im aufrufenden Workbook.
     
  8. Lutz Fricke Erfahrener User

    Diagrammformatierung geht verloren

    Hallo Lupo,

    ok, das geht natürlich...

    Gruß,
    Lutz
     
    Lutz Fricke, 13. Januar 2017
    #8
  9. Beverly
    Beverly Erfahrener User
    Hi Lutz,

    Den gibt es nicht, es sei denn man erstellt sie von Hand - um die gewünschte Formatierung zu bekommen kann man in dem Fall benutzerdefinierte Vorlagen verwenden.

    Übrgigens: auch wenn du die Diagramme als Bild in einer anderen Mappe speicherst, kann es dir passieren, dass beim Aus-Einblenden der Spalten die Bilder verschoben oder in ihrer Größe verändert werden, denn - wie ich schon geschrieben hatte - mit eingebetteten Objekten hat Excel so seine Probleme, gleichgültig ob es sich um Formatierungen, Position oder Größe handelt.


    Bis später,
    Karin
     
    Beverly, 13. Januar 2017
    #9
  10. Lutz Fricke Erfahrener User
    Hallo Beverly,

    vielen Dank für die Hilfe.
    Muss dann mal sehen, wie ich das hinbastele.

    Gruß,
    Lutz
     
    Lutz Fricke, 16. Januar 2017
    #10
Thema:

Diagrammformatierung geht verloren

Die Seite wird geladen...
  1. Diagrammformatierung geht verloren - Similar Threads - Diagrammformatierung verloren

  2. Datensätze verloren (Fehlercode -1504)

    in Microsoft Access Hilfe
    Datensätze verloren (Fehlercode -1504): Hallo, ich bin gerade etwas am verzweifeln. Wir verwenden eine Access .accdb Datenbank zum einpflegen unserer Auftragslage. Die Datensätze werden über eine GUI und SQL in die Tabellen eingefügt....
  3. Was geht verloren, wenn ich die Arbeitsmappe als eine XML-Kalkulationstabelle 2003-Datei ...

    in Microsoft Excel Tutorials
    Was geht verloren, wenn ich die Arbeitsmappe als eine XML-Kalkulationstabelle 2003-Datei ...: Was geht verloren, wenn ich die Arbeitsmappe als eine XML-Kalkulationstabelle 2003-Datei speichere? Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013...
  4. Diagrammformatierung

    in Microsoft Access Hilfe
    Diagrammformatierung: Hallo an alle und ein gesundes neues Jahr, ich habe plötzlich (!) ein Problem mit Diagrammen in Access. Die Erstellung im Formular funktioniert noch einwandfrei. Allerdings kann ich es nicht...
  5. Outlook 365 - Emails nach Ordner Verschiebung und Umbenennung verschwunden

    in Microsoft Outlook Hilfe
    Outlook 365 - Emails nach Ordner Verschiebung und Umbenennung verschwunden: Ich verwende Outlook 365. Ich habe heute meine Ordnerstruktur geändert. U.a. habe ich bestehende Ordner umgenannt und verschoben. Die Mails die dort vorher drin abgelegt waren, sind nun...
  6. Textformatierung geht beim Kopieren von Word nach Excel verloren

    in Microsoft Word Hilfe
    Textformatierung geht beim Kopieren von Word nach Excel verloren: Hallo, ich muss kurze Texte aus Word in einzelne Excel-Zellen kopieren. Formatierungen wie FETT gehen dabei verloren, auch Links, die ich in Word setze, erscheinen nach dem Kopiervorgang in...
  7. Textformatierung geht beim Kopieren von Word nach Excel verloren

    in Microsoft Excel Hilfe
    Textformatierung geht beim Kopieren von Word nach Excel verloren: Hallo, ich muss kurze Texte aus Word in einzelne Excel-Zellen kopieren. Formatierungen wie FETT gehen dabei verloren, auch Links, die ich in Word setze, erscheinen nach dem Kopiervorgang in...
  8. Diagrammformatierung über Checkboxen

    in Microsoft Excel Hilfe
    Diagrammformatierung über Checkboxen: Hallo zusammen, ich führe in einem Excelsheet eine Kostenberechnung durch. Die Gesamtkosten setzen sich dabei aus 6 Einzelposten zusammen. Um den Anteil der einzelnen Posten an den Gesamtkosten...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden