ich stelle mit folgendem Code ein Diagramm auf dem Bildschirm dar. Ermittle zuvor die aktuelle Bildschirmauflösung und vergrößere die Form auf Bildschirmgröße. Habe jetzt etwas Probleme mit dem Code, da ich ihn übernommen und angepasst habe.
Die Diagramme liegen alle auf der Tabelle Berechnung.
Ist der Code so i.O. ? oder muß ich etwas ändern. Auf 800x600 ist es ok. Zuhause auf 1024x768 nicht. Ich habe das Diagramm nicht ganz auf Formularhöhe gesetzt, da darunter in der Mitte ein cmdButton sitzt. Dieser liegt bei 1024x768 ganz wo anderst. Wie kann ich ihn ebenfalls anpassen.
mfG Friedrich
Private Sub ZeigeDiagramm()
Dim objDObjekt As ChartObject
Dim objDiagramm As Chart
Dim sngHoehe As Single, sngBreite As Single
Dim strTmpDateiname As String
Application.ScreenUpdating = False
strTmpDateiname = Application.DefaultFilePath & "\tmpXLDiagBild.gif"
Set objDObjekt = ThisWorkbook.Sheets("Berechnung").ChartObjects(Dia)
Set objDiagramm = objDObjekt.Chart
frmDiagramm.Caption = objDiagramm.ChartTitle.Characters.Text ' = "Statistik April"
objDiagramm.PlotArea.Interior.ColorIndex = 15
objDObjekt.Height = Me.Height / 1.2
objDObjekt.Width = Me.Width / 1.1
Me.Image1.Height = Me.Height * 0.85 'Rahmen
Me.Image1.Width = Me.Width * 0.969 'Rahmen
With objDObjekt
sngHoehe = .Height
sngBreite = .Width
.Height = Me.Image1.Height 'DiagrammInnenfeld
.Width = Me.Image1.Width 'DiagrammInnenfeld
End With
objDiagramm.Export FileName:=strTmpDateiname, filtername:="GIF"
Me.Image1.Picture = LoadPicture(strTmpDateiname)
With objDObjekt
.Height = sngHoehe '.Height
.Width = sngBreite '.Width
End With
Set objDiagramm = Nothing
Set objDObjekt = Nothing
Kill strTmpDateiname
Application.ScreenUpdating = True
End Sub
Private Sub cmdDia_Druck_Click()
ActiveChart.PlotArea.Interior.ColorIndex = xlNone
ActiveWindow.ActiveChart.PrintOut
End Sub
Private Sub UserForm_Initialize()
Dim sSize As String
sSize = ScreenResolution
With Me
.Width = Left(sSize, InStr(sSize, "x") - 1) / 1.33
.Height = Right(sSize, Len(sSize) - InStr(sSize, "x")) / 1.33
.Left = 0
.Top = 0
End With
ZeigeDiagramm
End Sub