VBA Çalışma Kitabı - Excel VBA Çalışma Kitabı Nesnesini kullanma örnekleri

Excel VBA Çalışma Kitabı

VBA Çalışma Kitabı , Çalışma Kitapları nesne koleksiyonunun bir parçası olan bir nesnedir. Nesne toplama bölümü ile nesnenin kendisi arasındaki farkı kolayca görüyoruz, çoğul "Çalışma Kitapları" kelimesi birçok "Çalışma Kitabı" na sahip olduğunu ifade ediyor . VBA'da, Çalışma Sayfaları, Hücreler ve Aralıklar, Grafikler ve Şekiller gibi birkaç başka nesnemiz var.

Excel platformunda excel dosyası özellikle VBA'da “Workbook” olarak adlandırılır. Biz ona asla dosya demiyoruz; biz buna "Çalışma Kitabı" diyoruz .

Çalışma kitabına başvurarak, onunla ilgili tüm görevleri yapabiliriz. Önemli görevlerden bazıları "Çalışma Kitabını Aç", "Çalışma Kitabını Kaydet", "Çalışma Kitabı Olarak Kaydet" ve "Çalışma Kitabını Kapat" dır. Açılan çalışma kitaplarını seçebilir, etkinleştirebiliriz.

Sözdizimi

Şimdi, Çalışma Kitabının sözdiziminin ne olduğuna bakın.

Dizin, seçmek istediğiniz çalışma kitabından başka bir şey değildir. Çalışma kitabına çalışma kitabı numarasına veya çalışma kitabı adına göre başvurabiliriz.

VBA Çalışma Kitabı Nesne Kodunun Kullanımı

Örnek 1

Örneğin, şu anda açık iki dosyam var. İlk çalışma kitabı adı "Dosya 1" ve ikinci çalışma kitabı adı "Dosya 2" dir.

Şimdi kodu üçüncü dosyaya yazıyorum. Bu dosyadan "Dosya 1" adlı çalışma kitabını etkinleştirmek istiyorum.

Adım 1: Bir VBA alt prosedürü oluşturarak makroyu başlatın.

Kod:

Alt Çalışma Kitabı_Örnek1 () Son Alt

Adım 2: Şimdi çalışma kitabı nesnesini seçin.

Adım 3: Şimdi, etkinleştirmek istediğimiz çalışma kitabını girin.

Kod:

Alt Çalışma Kitabı_Örnek1 () Çalışma Kitapları ("Dosya 1 Son Alt

Adım 4: Çalışma kitabı adını girdikten sonra dosya uzantısını da girmemiz gerekiyor. Bu çalışma kitabını normal bir çalışma kitabı, yani "xlsx" çalışma kitabı olarak kaydettim.

Kod:

Alt Çalışma Kitabı_Örnek1 () Çalışma Kitapları ("Dosya 1.xlsx") Son Alt

Adım 5: Şimdi, bu çalışma kitabıyla ne yapmak istediğimize karar vermemiz gerekiyor. Bu çalışma kitabında bulunan tüm seçenekleri görmek için nokta girin.

Adım 6: Şimdi, çalışma kitabını etkinleştirmemiz ve yöntemi "Etkinleştir" olarak seçmemiz gerekiyor.

Kod:

Alt Çalışma Kitabı_Örnek1 () Çalışma Kitapları ("Dosya 1.xlsx"). End Sub'ı Etkinleştir

Hangi çalışma kitabında olduğunuz önemli değildir. Belirtilen çalışma kitabını etkinleştirecektir.

Çalışma kitabını seçer seçmez, "Etkin Çalışma Kitabı" olur .

Örnek 2 - Çalışma Kitabına Değerleri Girin

Çalışma kitabını seçer seçmez söylediğim gibi, bu bir Aktif Çalışma Kitabı olur. Aktif Çalışma Kitabını kullanarak hücreye başvurabiliriz.

Aktif çalışma kitabında, sayfayı adına göre seçmemiz gerekir, yoksa Aktif Sayfa kelimesini kullanırız.

Aktif çalışma sayfasında, Range nesnesini kullanarak hücreyi seçmemiz gerekir.

Kod:

Alt Çalışma Kitabı_Örnek1 () Çalışma Kitapları ("Dosya 1.xlsx"). ActiveWorkbook.ActiveSheet.Range ("A1") etkinleştirin. Değer = "Merhaba" Son Alt

Bu kodu F5 tuşunu kullanarak veya el ile çalıştırdığınızda, "Dosya 1.xlsx" çalışma kitabındaki A1 hücresine "Merhaba" kelimesini ekleyecektir.

We can also use the below code to do the same job.

Code:

Sub Workbook_Example1() Workbooks("File 1.xlsx").ActiveSheet.Range("A1").Value = "Hello" End Sub

This will also insert the word “Hello” to the workbook “File 1.xlsx.”

Example #3 - Assign Workbook to Variable

We can also assign the data type as a “workbook” to the declared variable. Declare the variable as Workbook.

Code:

Sub Workbook_Example2()

Dim WB As Workbook

End Sub

Now we need to set the object variable to the workbook name by using the word “Set.”

Code:

Sub Workbook_Example2() Dim WB As Workbook Set WB = Workbooks("File 1.xlsx") End Sub

From now onwards, the variable “WB” holds the name of the workbook “File 1.xlsx”.

Using the variable name, we can insert the words.

Code:

Sub Workbook_Example2() Dim WB As Workbook Set WB = Workbooks("File 1.xlsx") WB.Worksheets("Sheet1").Range("A1") = "Hello" WB.Worksheets("Sheet1").Range("B1") = "Good" WB.Worksheets("Sheet1").Range("C1") = "Morning" End Sub

Run this code manually or use shortcut key F5 and see the result, as shown in the below screenshot.

WB.Worksheets("Sheet1").Range("A1") = "Hello"

Here WB is referencing the workbook, in that workbook, we are referencing the worksheet Sheet1 by using the Worksheets object. In that worksheet cell, A1 is equal to the value of “Hello.”

We can also reference the workbook by index number as well. For example, look at the below code.

Code:

Sub Workbook_Example3() Workbooks(1).Activate Workbooks(2).Activate Workbooks(3).Activate End Sub

Here Workbooks (1) means whichever the workbook first on the list, like this similarly Workbooks (2) refers to the second workbook, and Workbooks (3) refers to the third workbook.

The main problem with this index number referencing is we don’t know exactly which workbook activated. It is dangerous to use index numbers.

Example #4 - For Each Loop for Workbook Object

As I told in the beginning, the workbook is a collection object of Workbooks in VBA. Whenever we want to perform the same kind of activity for all the opened workbooks, we need to use For Each loop in VBA.

For Each Loop is the loop for all the objects in VBA. Use the below code to save all the opened workbooks.

Code:

Alt Save_All_Workbooks () Dim WB As Workbook As Workbooks In Workbooks WB.Save Next WB End Sub

Bu kodu F5 tuşuyla veya el ile çalıştırdığınızda, çalışma kitabını kaydetmenizi isteyen bir Pop-up açılır. Kaydetmek için Tamam'a tıklayın.

Üzerinde çalıştığınız dışındaki tüm çalışma kitaplarını kapatmak için aşağıdaki kodu kullanın.

Kod:

Alt Close_All_Workbooks () Çalışma Kitaplarındaki Her Bir WB İçin Çalışma Kitabı Olarak Dim WB Bu Çalışma Kitabını Adlandır ise WB. Sonraki WB Sonlandırsa Bitir

Çalışma kitabını kapatmadan önce bir açılır pencere açılır.

Ilginç makaleler...