Sie benötigen einen Wert Fname
zuweisen, bevor Sie es verwenden. Es gibt verschiedene Wege, dies zu tun:
1 Just) Zuweisen der Wert in CommandButton1_Click
Private Sub CommandButton1_Click()
GetChart
Fname = ThisWorkbook.Path & "/temp.gif"
Image1.Picture = LoadPicture(Fname)
MsgBox "Yep"
End Sub
Public Sub GetChart()
Set CurrentChart = Sheets("StatsDB").ChartObjects(1).Chart
Fname = ThisWorkbook.Path & "/temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
End Sub
2) Übergeben Sie den Wert in GetChart
verwendet zurück als "Rückkehr" Wert:
Private Sub CommandButton1_Click()
Fname = GetChart()
Image1.Picture = LoadPicture(Fname)
MsgBox "Yep"
End Sub
Public Function GetChart() As String
Set CurrentChart = Sheets("StatsDB").ChartObjects(1).Chart
Fname = ThisWorkbook.Path & "/temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
GetChart = Fname
End Sub
3) Herstellung Fname
Modulebene im Bereich:
Dim Fname As String
Private Sub CommandButton1_Click()
GetChart
Image1.Picture = LoadPicture(Fname)
MsgBox "Yep"
End Sub
Public Sub GetChart()
Set CurrentChart = Sheets("StatsDB").ChartObjects(1).Chart
Fname = ThisWorkbook.Path & "/temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
End Sub
4) die beiden Subroutinen in einer Kombination: würde
Private Sub CommandButton1_Click()
Set CurrentChart = Sheets("StatsDB").ChartObjects(1).Chart
Fname = ThisWorkbook.Path & "/temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
Image1.Picture = LoadPicture(Fname)
MsgBox "Yep"
End Sub
Es gibt viele weitere Möglichkeiten, dies zu tun, aber hoffentlich eine der oben zusagt.
Ich endete mit 1) Aber ich wusste nicht, dass Sie es tun könnten 2). Ich werde es wahrscheinlich stattdessen verwenden und es gibt eine Menge anderer Anwendungen dafür, was nett ist. – Quint