Kode Macro :
Sub ConvertFormulasToValuesAndSaveToNewFolder()
Dim sourceFolder As String, targetFolder As String
Dim fileName As String
Dim wb As Workbook
Dim ws As Worksheet
Dim fDialog As FileDialog
' Pilih folder sumber
Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
MsgBox "Pilih folder SUMBER (berisi file Excel yang akan dikonversi)."
If fDialog.Show <> -1 Then Exit Sub
sourceFolder = fDialog.SelectedItems(1) & "\"
' Pilih folder tujuan
MsgBox "Pilih folder TUJUAN (untuk menyimpan hasil konversi)."
If fDialog.Show <> -1 Then Exit Sub
targetFolder = fDialog.SelectedItems(1) & "\"
' Nonaktifkan notifikasi
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' Proses semua file Excel
fileName = Dir(sourceFolder & "*.xls*")
Do While fileName <> ""
Set wb = Workbooks.Open(sourceFolder & fileName)
' Ubah semua worksheet jadi value-only
For Each ws In wb.Worksheets
With ws.UsedRange
.Value = .Value
End With
Next ws
' Simpan dengan nama yang sama ke folder tujuan
wb.SaveAs Filename:=targetFolder & fileName, FileFormat:=xlOpenXMLWorkbook
wb.Close SaveChanges:=False
fileName = Dir
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "Selesai! Semua file disimpan sebagai nilai saja ke folder tujuan.", vbInformation
End Sub
Cara pakai :
- Tekan
Alt + F11
→ buka Visual Basic Editor - Pilih
Insert
→Module
→ paste kode di atas - Jalankan makro:
ConvertFormulasToValuesAndSaveToNewFolder
- Pilih folder sumber (file Excel dengan formula)
- Pilih folder tujuan (untuk menyimpan hasil)
- File akan dikonversi ke nilai-only dan disimpan ke folder tujuan dengan nama yang sama
Tidak ada komentar:
Posting Komentar