نظرا لأن برنامج اكسل لا يقدم خيار المعاينة على اليوزرفورم
أردت أن أقدم فكرة للزملاء الكرام و أعضاء المنتدى الاعزاء
الفكرة تعتمد على أخذ صورة للنطاق المراد طباعته على القرص و اعادة تحميلها على مربع الصورة
مهم جدا : انشاء مجلد لحفظ الصورة على c باسم raed ثم شغل الملف المرفق
C:\raed
يمكنك تغيير القرص و اسم المجلد في الكود كما تشاء ثم غير اسم المحلد حسب الكود
Private Sub CommandButton1_Click()
Const RaedN As String = "C:\raed\officena.jpg"
Dim rng As Range
Dim shtTemp As Worksheet
Dim chtTemp As Chart
Application.ScreenUpdating = False
Set rng = Worksheets("Sheet1").Range("b2:h11")
Set shtTemp = Worksheets.Add
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:=shtTemp.Name
Set chtTemp = ActiveChart
rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture
chtTemp.Paste
chtTemp.Export Filename:=RaedN
Me.Image1.Picture = LoadPicture(RaedN)
Application.DisplayAlerts = False
shtTemp.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
preview on userform.xlsm