Vba: cara mendapatkan daftar semua buku kerja yang terbuka
Anda bisa menggunakan loop For Each di VBA untuk mendapatkan daftar semua buku kerja Excel yang terbuka.
Berikut adalah cara umum untuk melakukan hal ini dalam praktik:
Sub ListAllOpenWorkbooks()
Dim wbName As String
Dim wb As Workbook
'add each open workbook to message box
For Each wb In Application.Workbooks
wbName = wbName & wb.Name & vbCrLf
Next
'display message box with all open workbooks
MsgBox wbName
End Sub
Makro khusus ini akan menghasilkan kotak pesan yang berisi daftar semua buku kerja Excel yang terbuka.
Contoh berikut menunjukkan cara menggunakan makro ini dalam praktiknya.
Contoh: Dapatkan daftar semua buku kerja yang terbuka menggunakan VBA
Mari kita asumsikan bahwa tiga buku kerja Excel berikut sedang terbuka:
- baseball_data.xlsx
- football_data.xlsx
- hoki_data.xlsx
Katakanlah kita ingin menggunakan VBA untuk membuat daftar nama semua buku kerja yang terbuka ini.
Kita dapat membuat makro berikut untuk melakukan ini:
Sub ListAllOpenWorkbooks()
Dim wbName As String
Dim wb As Workbook
'add each open workbook to message box
For Each wb In Application.Workbooks
wbName = wbName & wb.Name & vbCrLf
Next
'display message box with all open workbooks
MsgBox wbName
End Sub
Saat kami menjalankan makro ini, kami menerima keluaran berikut:
Kotak pesan menampilkan nama masing-masing buku kerja yang terbuka, dengan masing-masing buku kerja unik dicantumkan pada barisnya sendiri.
Perhatikan bahwa kami menggunakan konstanta vbCrLf di perulangan For Each untuk menyisipkan carriage return, yang memindahkan kursor ke baris berikutnya.
Hal ini memungkinkan kami untuk mencantumkan setiap buku kerja yang terbuka pada barisnya sendiri di kotak pesan.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di VBA:
Cara mengganti nama file menggunakan VBA
Cara membuat daftar file dalam folder menggunakan VBA
Cara membuka semua file dalam satu folder menggunakan VBA
Cara memeriksa apakah file ada menggunakan VBA