HERBERS Excel-Forum - die Beispiele

Thema: Einen Tabellenblattbereich als Graf in UserForm einbinden

Home

Gruppe

Grafik

Problem

Der Tabellenblattbereich C6:D8 soll in einer UserForm als ScreenShot dargestellt werden.

Lösung
Geben Sie den Ereigniscode in die nachfolgend genannten Module ein.
StandardModule: Modul1

Dim container As Chart
Dim ContainerBook As Workbook
Dim Obnavn As String
Dim SourceBook As Workbook

Public Sub DialogAufruf()
   Call GIF_Snapshot
   Application.ScreenUpdating = False
   frmSnapShot.Image1.Picture = LoadPicture( _
      Application.DefaultFilePath & "\img.gif")
   frmSnapShot.Show
   Application.ScreenUpdating = False
End Sub

Private Sub ImageContainer_init()
   Workbooks.Add 1
   ActiveSheet.Name = "GIFcontainer"
   Charts.Add
   ActiveChart.ChartType = xlColumnClustered
   ActiveChart.SetSourceData Source:=Worksheets(1).Range("A1")
   ActiveChart.Location Where:=xlLocationAsObject, _
      Name:="GIFcontainer"
   ActiveChart.ChartArea.ClearContents
   Set ContainerBook = ActiveWorkbook
   Set container = ActiveChart
End Sub

Private Sub MakeAndSizeChart(ih As Integer, iv As Integer)
   Dim Hincrease As Single
   Dim Vincrease As Single
   Obnavn = Mid(ActiveChart.Name, Len(ActiveSheet.Name) + 1)
   Hincrease = ih / ActiveChart.ChartArea.Height
   ActiveSheet.Shapes(Obnavn).ScaleHeight Hincrease, _
      msoFalse, msoScaleFromTopLeft
   Vincrease = iv / ActiveChart.ChartArea.Width
   ActiveSheet.Shapes(Obnavn).ScaleWidth Vincrease, _
      msoFalse, msoScaleFromTopLeft
End Sub

Private Sub GIF_Snapshot()
   Dim SaveName As Variant
   Dim Hi As Integer
   Dim Wi As Integer
   Set SourceBook = ActiveWorkbook
   Call ImageContainer_init
   SourceBook.Activate
   SaveName = Application.DefaultFilePath & "\img.gif"
   If Dir(SaveName) <> "" Then
      Kill SaveName
   End If
   Range("C6:D8").Select
   Selection.CopyPicture Appearance:=xlScreen, _
      Format:=xlBitmap
   Hi = Selection.Height + 4
   Wi = Selection.Width + 6
   ContainerBook.Activate
   ActiveSheet.ChartObjects(1).Activate
   Call MakeAndSizeChart(ih:=Hi, iv:=Wi)
   ActiveChart.Paste
   ActiveChart.Export Filename:=LCase(SaveName), _
      FilterName:="GIF"
   ActiveChart.Pictures(1).Delete
   SourceBook.Activate
   On Error Resume Next
   Application.StatusBar = False
   ContainerBook.Saved = True
   ContainerBook.Close
End Sub

ClassModule: frmSnapShot

Private Sub cmdCancel_Click()
   Unload Me
End Sub

Beiträge aus dem Excel-Forum zu den Themen Grafik und UserForm

Verknüpfung Daten-Userform in Word-Dok Zwischenablage in Userform anzeigen und ...
ShowModal Userform - Aktives Tabellenblatt UserForm nur fpr Berechtigte öffnen
userform 1:n Beziehung Start Userform Fehlermeldung
Userform Excel ausblenden Blattschutz per Userform ein und ausschalten
UserForm im Querformat drucken Userform Leben einhauchen
Userform Userform
Userforms - Tabelle auslesen Daten aus Tabelle in Userform
Module und Userform per VBA löschen Formen in UserForm Namen zuweisen per Makro
Userform soll Blattschutz regeln Doppelklick öffnet Userform
Listbox nach öffnen der Userform füllen UserForm TextBox mit ComboBox Datum vergleichen
Optionsfeld Value false auf true änd. im Userform In Userform Label bei Eingabe ändern
Userform nicht gleich in TextBox aber wie? Jahresgrafik
Laden Userform dauert lange In Userform Arbeitsplatz anzeigen?
Listenfeld in Userform Markierung aufheben UserForm in Outlook mit DropDowns aus Excel (Inhal
USERFORM showmodal Label fehlt Button in UserForm soll CSV in neuer Instanz öffne
Userform Toggle Button rücksetzen Grafik - Linie nach unten, Kriterien links
Userform soll Zellen mit Inhalt erkennen UserForm schließen und anderes UserForm öffnen
Daten aus Tabellenblatt als Auswahl in userform Grafik auf Position bringen
Spreadsheet in UserForm... Text aus Userform in Datei übertragen
Userform mit Löschfunktion Userform. Link datei
Userform an Zelle ausrichten UserForm für Datenmanipulation
Viele Grafiken mit gleicher Größe einfügen Excel Grafiken nur schwarz/weiss
Hyperlink - UserForm PDF in Userform
Userform Frage UserForm - CheckBox Reihenfolge
Aktierungsreihenfolge in Userform Userform anpassen