وعليكم السلام ورحمه الله وبركاته
اخي @ابوعلي الحبيب
الكود الخاص بك في المشاركه الاولي ليس به اي مشكله لكن تأكد ان المسار الذي تحفظ به الصورة موجود
وهذا كود اخر بسيط سوف يقوم بإنشاء المسار ان لم يكن موجود ويحفظ الصورة
Option Explicit
Private Declare PtrSafe Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal DirPath As String) As Boolean
Sub Export_Range_As_Picture()
Dim Ws As Worksheet, StrToFolder2 As String
Dim oRng As Range, sPath As String, oChart As ChartObject
Set Ws = ActiveSheet
Application.ScreenUpdating = False
StrToFolder2 = "D:\pic\"
MakeSureDirectoryPathExists StrToFolder2
sPath = StrToFolder2 & Ws.Range("a1").Value & "." & "jpg"
Set oRng = Ws.Range("A3:H17")
oRng.CopyPicture xlScreen, xlPicture
Set oChart = Ws.ChartObjects.Add(Left:=0, Top:=0, Width:=oRng.Width * 1, Height:=oRng.Height * 1)
With oChart
.Activate
.Chart.Paste
.Chart.Export Filename:=sPath
.Delete
End With
Application.ScreenUpdating = True
End Sub