Vba: tüm açık çalışma kitaplarının listesi nasıl alınır?
Tüm açık Excel çalışma kitaplarının bir listesini almak için VBA’daki Her Biri İçin döngüsünü kullanabilirsiniz.
Bunu pratikte yapmanın yaygın bir yolu:
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
Bu özel makro, tüm açık Excel çalışma kitaplarının listesini içeren bir mesaj kutusu oluşturacaktır.
Aşağıdaki örnekte bu makronun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: VBA kullanarak tüm açık çalışma kitaplarının listesini alma
Aşağıdaki üç Excel çalışma kitabının şu anda açık olduğunu varsayalım:
- beyzbol_verileri.xlsx
- futbol_verileri.xlsx
- hokey_data.xlsx
Tüm bu açık çalışma kitaplarının adlarını listelemek için VBA’yı kullanmak istediğimizi varsayalım.
Bunun için aşağıdaki makroyu oluşturabiliriz:
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
Bu makroyu çalıştırdığımızda aşağıdaki çıktıyı alıyoruz:
İleti kutusu, açık çalışma kitaplarının her birinin adını görüntüler ve her benzersiz çalışma kitabı kendi satırında listelenir.
İmleci bir sonraki satıra taşıyan bir satırbaşı eklemek için For Every döngüsünde vbCrLf sabitini kullandığımızı unutmayın.
Bu, her açık çalışma kitabını mesaj kutusunda kendi satırında listelememize olanak sağladı.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA kullanarak bir dosyayı yeniden adlandırma
VBA kullanarak bir klasördeki dosyalar nasıl listelenir
VBA kullanarak bir klasördeki tüm dosyalar nasıl açılır
VBA kullanılarak dosyanın var olup olmadığı nasıl kontrol edilir