دسترسی سریع

لینکهای مفید

دانلود آفیس باز

ذخیره کردن هر شیت به عنوان یک فایل جدید اکسل

فرض میکنیم که یک فایل اکسل داریم که حاوی 12 شیت با نام ماههای سال است و می خواهیم هر شیت یه عنوان یک فایل جدید اکسل در محل همان فایل ذخیره شود . خب می توانیم این کار را به صورت دستی انجام دهیم که زمان زیاید لازم دارد و درصد خطا هم بالاست .

فایل جدید اکسل

فایل جدید اکسل با نام شیتهای موجود در فایل جاری

اگر بخواهیم تمام شیتهای فایلی که در حال کار کردن با آن هستیم به صورت کپی و هر شیت با نام همان شیت کنار فایل فعلی ما ذخیره شود ، کافیست کاهای زیر را انجام دهیم.

  1. مطمئن شوید که فایل ذخیره شده و مکان آن مشخص است
  2. مسیر فایل حاوی پوشه فارسی نباشد
  3. کدهای زیر را در یک ماژول قرار داده و آن را اجرا کنید.
Sub SplitEachWorksheet()
Dim FPath As String
FPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Sheets
    ws.Copy
    Application.ActiveWorkbook.SaveAs Filename:=FPath & "\" & ws.Name & ".xlsx"
    Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

ذخیره کردن هر شیت یک فایل دیگر اکسل

کدهای قبلی ، شیتهای فایل جاری را هر کدا را در یک فایل جدید اکسل ذخیره می کرد و نام هر فایل هم از نام همان شیت گرفته می شد .

اما در ادامه کدهایی تقدیم شما می شود که با اجرای آن از کاربر یک فایل اکسل خواسته می شود و شیتهای موجود در آن فایل به صورت فایلهای جدا گانه در پوشه Sheets در کنار همان فایل اکسل ذخیره می شود .

Sub SplitSheetsToFiles()
    Dim SourceWorkbook As Workbook
    Dim DestinationPath As String
    Dim CurrentSheet As Worksheet
    Dim NewWorkbook As Workbook
    Dim FilePath As String
    
    On Error Resume Next
    Set SourceWorkbook = Workbooks.Open(Application.GetOpenFilename(FileFilter:="Excel Files (*.xls; *.xlsx), *.xls; *.xlsx", Title:="Select Excel File"))
    On Error GoTo 0
    
    If SourceWorkbook Is Nothing Then
        Exit Sub
    End If
    
    DestinationPath = ThisWorkbook.Path & "\Sheets\"
    
    If Dir(DestinationPath, vbDirectory) = "" Then
        MkDir DestinationPath
    End If
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For Each ws In SourceWorkbook.Sheets
        ws.Copy
        Application.ActiveWorkbook.SaveAs Filename:=DestinationPath & ws.Name & ".xlsx"
        Application.ActiveWorkbook.Close False
    Next
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    SourceWorkbook.Close SaveChanges:=False ' بستن فايل اصلي
    MsgBox "تمام شيت‌ها به عنوان فايل‌هاي جداگانه در مسير زير ذخيره شدند:" & vbCrLf & DestinationPath, vbInformation
End Sub

ایجاد Personal Macro و اجرا در تمام فایلها

برای اینکه کدهایی که قرار دادیم در تمام فایلهای اکسل کامپیوتر شما اجرا شود می توانید کدها را در Personal Macro قرار دهید و آیکون آن را در Quick Access Toolbar قرار دهید. که آموزش آن در ویدیو همین پست داده شده است. و هر بار به راحتی با کلیک روی آن تمام شیتها به عنوان یک فایل جدید اکسل به صورت جداگانه ذخیره میشوند.

3.6/5 - (5 امتیاز)
باکس دانلود

فایل پیوست را دانلود کنید و از آن برای ذخیره فایل جدید اکسل استفاده نمانئید.

0 0 امتیازات
امتیاز این آموزش
دنبال کردن
اطلاع رسانی به
guest

12 نظرات
پر امتیاز ترین
جدیدترین قدیمی ترین
Inline Feedbacks
مشاهده همه دیدگاهها

دانلود رایگان !!

لطفا شماره موبایلی وارد کنید که روی آن واتس اپ دارید !!

بهتر است که شماره موبایل با واتس اپ فعال وارد کنید و از اخبار و تخفیف ها هم با خبر شوید ، در غیر اینصورت می توانید آدرس ایمیل وارد نمائید.

happy holidays

we want to hear from you

https://www.dl.officebaz.ir/free/excelLearning/OfficebazSaveAllSheets.zip