Vba: cara menyimpan spreadsheet sebagai file csv (dengan contoh)


Anda bisa menggunakan sintaks berikut di VBA untuk menyimpan setiap lembar buku kerja ke file CSV:

 Sub SaveCSV()

Dim Ws As Worksheet
Dim SaveDir As String

Dim CurrentWorkbook As String
Dim CurrentFormat As Long

CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat

'specify directory to save CSV files in
SaveDir = " C:\Users\bobbi\OneDrive\Desktop\ "

'save each sheet to individual CSV file
For Each Ws In Application.ActiveWorkbook.Worksheets
    Ws.SaveAs SaveDir & Ws.Name, xlCSV
Next

Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True

End Sub

Makro khusus ini akan menyimpan setiap lembar buku kerja yang sedang aktif ke file CSV.

File CSV akan disimpan di jalur yang ditentukan dalam variabel SaveDir .

Catatan : Baris Application.DisplayAlerts=False memberitahu VBA untuk menonaktifkan sementara semua peringatan tampilan di Excel saat menyimpan file.

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Simpan Spreadsheet sebagai File CSV Menggunakan VBA

Misalkan kita memiliki buku kerja Excel dengan dua lembar.

Lembar pertama disebut player_stats dan berisi statistik tentang pemain bola basket yang berbeda:

Lembar kedua disebut team_info dan berisi informasi tentang berbagai tim bola basket:

Katakanlah kita ingin menyimpan masing-masing sheet ini sebagai file CSV individual di desktop komputer kita.

Kita dapat membuat makro berikut untuk melakukan ini:

 Sub SaveCSV()

Dim Ws As Worksheet
Dim SaveDir As String

Dim CurrentWorkbook As String
Dim CurrentFormat As Long

CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat

'specify directory to save CSV files in
SaveDir = " C:\Users\bobbi\OneDrive\Desktop\ "

'save each sheet to individual CSV file
For Each Ws In Application.ActiveWorkbook.Worksheets
    Ws.SaveAs SaveDir & Ws.Name, xlCSV
Next

Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True

End Sub

Setelah makro ini dijalankan, setiap lembar akan disimpan sebagai file CSV di desktop kita.

Jika saya menavigasi ke desktop komputer, saya dapat melihat masing-masing file CSV berikut dengan nama file yang cocok dengan nama sheet:

Jika saya membuka file CSV player_stats menggunakan Notepad, saya dapat melihat bahwa nilai dalam file Excel disimpan sebagai nilai yang dipisahkan koma:

Perhatikan bahwa dalam contoh ini kami dapat menyimpan dua lembar ke buku kerja kami sebagai file CSV individual, namun makro yang sama ini akan berfungsi dengan jumlah lembar berapa pun.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:

VBA: Cara menghitung jumlah lembar dalam buku kerja
VBA: Cara mengekstrak data dari buku kerja lain
VBA: Bagaimana cara menambahkan sheet baru

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *