Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA-liniendiagramm erstellen
#1
Hallo zusammen,

Ich habe einen VBA aufzeichnen lassen, der mir ein Liniendiagramm erstellen soll.

Nun habe ich mehrere Probleme, da das Diagramm auch auf andere Excel Arbeitsblätter erstellt werden soll!

Wie kann ich jeweils den Bezug "Diagramm 5" so ändern, dass immer das Aktuelle Diagramm gemeint ist ?
Und das gleiche müsste auch mit dem Namen vom aktuellen Arbeitsblatt geschehen ..
Nur weiß ich nicht wie ..

Ich hoffe, Ihr könnt mir da weiter helfen [Bild: smile.gif] 

MFG


Code:
ub Diagrammm()

   Range("AF2:AF25").Select
   Range(Selection, Selection.End(xlToRight)).Select
   ActiveSheet.Shapes.AddChart2(227, xlLine).Select
   ActiveChart.SetSourceData Source:=Range( _
       "'Std HH_BH1_Prebond30ms'!$AF$2:$GA$25")
   ActiveChart.Parent.Cut
   ActiveSheet.Paste
   ActiveSheet.ChartObjects("Diagramm 5").Activate
   ActiveSheet.Shapes("Diagramm 5").ScaleWidth 1.35625, msoFalse, _
       msoScaleFromTopLeft
   ActiveSheet.Shapes("Diagramm 5").ScaleHeight 1.6631944444, msoFalse, _
       msoScaleFromTopLeft
   ActiveSheet.ChartObjects("Diagramm 5").Activate
   ActiveChart.Legend.Select
   Selection.Position = xlRight
   ActiveChart.ChartArea.Select
   ActiveChart.Legend.Select
   Selection.Top = 31.231
   Selection.Height = 325.877
   ActiveChart.ChartTitle.Select
   ActiveChart.ChartTitle.Text = "Hallo"
   Selection.Format.TextFrame2.TextRange.Characters.Text = "Hallo"
   With Selection.Format.TextFrame2.TextRange.Characters(1, 5).ParagraphFormat
       .TextDirection = msoTextDirectionLeftToRight
       .Alignment = msoAlignCenter
   End With
   With Selection.Format.TextFrame2.TextRange.Characters(1, 5).Font
       .BaselineOffset = 0
       .Bold = msoFalse
       .NameComplexScript = "+mn-cs"
       .NameFarEast = "+mn-ea"
       .Fill.Visible = msoTrue
       .Fill.ForeColor.RGB = RGB(89, 89, 89)
       .Fill.Transparency = 0
       .Fill.Solid
       .Size = 14
       .Italic = msoFalse
       .Kerning = 12
       .Name = "+mn-lt"
       .UnderlineStyle = msoNoUnderline
       .Spacing = 0
       .Strike = msoNoStrike
   End With
   Range("AI28").Select
End Sub
Antworten Top
#2
Hallöchen,

Du kannst das Diagramm beim Erstellen einer Objektvariable zuweisen und dann damit arbeiten. Beim Erstellen legst Du auch gleich Position und Größe fest. Anschließend mit With gekapselt alles weitere ...

Code:
Dim objMyDiag As Chart
Set objMyDiag = ActiveSheet.ChartObjects.Add(0, 0, 100, 100).Chart
With objMyDiag
   .ChartType = ...
   ...
   .Parent...
   ...
End With
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste