Thema Datum  Von Nutzer Rating
Antwort
22.07.2022 21:40:20 Bärenkind
NotSolved
22.07.2022 22:06:30 Gast60222
NotSolved
22.07.2022 22:12:28 Gast60222
NotSolved
23.07.2022 23:14:03 Gast94999
NotSolved
Rot Wieso hören die Leute heute nicht mehr richtig hin; geschweige denken mit?
24.07.2022 02:59:33 Gast87951
NotSolved

Ansicht des Beitrags:
Von:
Gast87951
Datum:
24.07.2022 02:59:33
Views:
558
Rating: Antwort:
  Ja
Thema:
Wieso hören die Leute heute nicht mehr richtig hin; geschweige denken mit?

Das mit dem kopieren einer Vorlage war im Grunde ein guter Hinweis; jedoch eine gespeicherte Diagrammvorlage hält leider keinen Code in sich. Das geht also nur mit einem Diagramm, welches sich auch in dem Workbook befindet.

  1. Diagramm in der Mappe erstellen
  2. Diagramm das Makro verpassen
  3. Diagramm einen Codename geben (z.B. tplChart)
  4. Diagramm Property Visible auf xlSheetHidden setzen

Und dann kann man so damit umgehen:

Option Explicit

Sub Test()
  
  Dim objNewChart As Excel.Chart
  
  'Erstellen
  Set objNewChart = CreateChart("Blabla")
  
  'objNewChart enthält die Makros von seiner Vorlage
  '...
  
'  'ODER:
'  'Erstellen, Alternative:
'  If Not TryCreateChart("Blabla", objNewChart) Then
'    Call MsgBox("Fehler xyz blabla usw.", vbCritical)
'    Exit Sub
'  End If
'
'  'objNewChart enthält die Makros von seiner Vorlage
'  '...
  
End Sub

Public Function TryCreateChart(Name As String, ByRef Chart As Excel.Chart) As Boolean
  On Error Resume Next
  Set Chart = CreateChart(Name)
  TryCreateChart = Not Chart Is Nothing
End Function

Public Function CreateChart(Name As String) As Excel.Chart
  
  On Error GoTo SafeExit
  
  Application.ScreenUpdating = False
  
  tplChart.Visible = xlSheetVisible
  Call tplChart.Copy(Before:=tplChart)
  
  Set CreateChart = tplChart.Previous
  CreateChart.Name = Name
  
SafeExit:
  tplChart.Visible = xlSheetHidden
  Application.ScreenUpdating = True
  
  If Not CreateChart Is Nothing Then
    If Err.Number <> 0 And CreateChart.Name <> Name Then
      Application.DisplayAlerts = False
      Call CreateChart.Delete
      Application.DisplayAlerts = True
      Call Err.Raise(Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext)
    End If
  End If
  
End Function

Wo liegt jetzt also das Problem?

 

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.07.2022 21:40:20 Bärenkind
NotSolved
22.07.2022 22:06:30 Gast60222
NotSolved
22.07.2022 22:12:28 Gast60222
NotSolved
23.07.2022 23:14:03 Gast94999
NotSolved
Rot Wieso hören die Leute heute nicht mehr richtig hin; geschweige denken mit?
24.07.2022 02:59:33 Gast87951
NotSolved