Aşağıda, tüm açık çalışma kitapları ve çalışma sayfaları arasında dolaşan ve tüm adları görüntüleyen Excel VBA’daki bir programa bakacağız.
Durum:
Komut düğmesine aşağıdaki kod satırlarını ekleyin:
- Önce iki nesne ve bir değişken tanımlıyoruz. Çalışma Kitabı türünden bir nesneyi kitap1 olarak, Çalışma Sayfası türünden bir nesneyi sayfa1 olarak ve Dize türünden bir değişkeni metin1 olarak adlandıralım.
Dim kitap1 As Workbook, sayfa1 As Worksheet, metin1 As String
Code language: VB.NET (vbnet)
- Tüm açık çalışma kitaplarını dolaşmak istiyoruz. Bunu yapabilmek için aşağıdaki kod satırını ekleyin:
For Each kitap1 In Workbooks
Code language: VB.NET (vbnet)
- “Çalışma Kitabı:” ve “Çalışma Sayfaları: ” metnini yazıyoruz.
metin1 = metin1 & "Çalışma Kitabı: " & kitap1.Name & vbNewLine & "Çalışma Sayfaları: " & vbNewLine
Code language: VB.NET (vbnet)
Not: Öğeleri birleştirmek için & operatörünü kullanabilirsiniz. Yeni bir satır başlatmak için vbNewLine’ı kullanabilirsiniz.
- Bir çalışma kitabının tüm çalışma sayfalarında dolaşmak için aşağıdaki kod satırını ekleyin:
For Each sayfa1 In kitap1.Worksheets
Code language: VB.NET (vbnet)
- Çalışma kitabının çalışma sayfalarının isimlerini değişken metne yazıyoruz.
metin1 = metin1 & sayfa1.Name & vbNewLine
Code language: VB.NET (vbnet)
- İkinci döngüyü kapatın.
Next sayfa1
Code language: VB.NET (vbnet)
- Beyaz bir çizgi ekleyin.
metin1 = metin1 & vbNewLine
Code language: VB.NET (vbnet)
- İlk döngüyü kapatmayı unutmayın.
Next kitap1
Code language: VB.NET (vbnet)
- Son olarak, MsgBox kullanarak değişken metni görüntülüyoruz.
MsgBox metin1
Code language: VB.NET (vbnet)
- Programı test edin. Komut düğmesine tıklamadan önce, çalışma sayfalarınıza bazı açıklayıcı adlar verin ve beş çalışma sayfası içeren boş bir çalışma kitabı açın.
Sonuç:
Tüm kodlar:
Private Sub CommandButton1_Click()
Dim kitap1 As Workbook, sayfa1 As Worksheet, metin1 As String
For Each kitap1 In Workbooks
metin1 = metin1 & "Çalışma Kitabı: " & kitap1.Name & vbNewLine & "Çalışma Sayfaları: " & vbNewLine
For Each sayfa1 In kitap1.Worksheets
metin1 = metin1 & sayfa1.Name & vbNewLine
Next sayfa1
metin1 = metin1 & vbNewLine
Next kitap1
MsgBox metin1
End Sub
Code language: VB.NET (vbnet)