VBA Çalışma Kitaplarıyla Çalışma (Çalışma Kitabı Nesnesi)

Bu kılavuz, aşağıdakilerle çalışmayı size tanıtacaktır: VBA'da Çalışma Kitabı Nesnesi.

Çalışma Kitabı Nesnesi

İlk olarak, VBA'daki çalışma kitaplarıyla etkileşimde bulunmak için şunları anlamalısınız: Çalışma Kitabı Nesnesi.

Çalışma kitabı nesnesiyle, çalışma kitaplarına adlarına göre şu şekilde başvurabilirsiniz:

1 Workbooks("Book2.xlsm").Activate

Ancak, bu kod yalnızca çalışma kitabı açıksa çalışır. Çalışma kitabı kapalıysa, tam çalışma kitabı yolunu sağlamanız gerekir:

1 Workbooks.Open ("C:\Users\StevePC2\Downloads\book2.xlsm")

Tam yolu yazmak yerine, istediğiniz çalışma kitabı, kodunuzun depolandığı çalışma kitabıyla aynı dizindeyse, çalışma kitabını açmak için bu satır kodunu kullanabilirsiniz:

1 Workbooks.Open (ThisWorkbook.Path & "\book2.xlsm")

Bu, bir sonraki bölümde tartışacağımız ThisWorkbook nesnesini kullanır.

Çalışma Kitabı Dizin Numarası

Son olarak, çalışma kitaplarına “Dizin Numarası” ile başvurabilirsiniz. Bir çalışma kitabının dizin numarası, çalışma kitabının açılma sırasına karşılık gelir (teknik olarak çalışma kitabının Çalışma Kitapları Koleksiyonundaki konumu).

1 Çalışma Kitapları(1).Etkinleştir

Bu, ilk (veya son) açılan çalışma kitabını kapatmak gibi bir şey yapmak istiyorsanız kullanışlıdır.

Çalışma kitabını, ActiveWorkbook'u ve ThisWorkbook'u etkinleştirin

bir çalışma kitabı ise AKTİF DEĞİL, Çalışma Kitabının nesnelerine aşağıdaki gibi erişebilirsiniz:

1 Çalışma Kitapları("Kitap2.xlsm").Sheets("Sayfa1").Range("A1").değer = 1

Ancak, çalışma kitabı Etkin ise, çalışma kitabı nesnesini atlayabilirsiniz:

1 Sayfalar("Sayfa1").Aralık("A1").değer = 1

Ayrıca, çalışma kitabının etkin sayfasıyla etkileşim kurmak istiyorsanız, sayfa nesnesini de atlayabilirsiniz:

1 Aralık("A1").değer = 1

Çalışma Kitabını Etkinleştir

Bir çalışma kitabını etkinleştirmek için, Yöntemi Etkinleştir.

1 Workbooks("Book2.xlsm").Activate

Artık, çalışma kitabı adını açıkça belirtmeden Book2'nin nesneleriyle etkileşime girebilirsiniz.

AktifÇalışma Kitabı

NS AktifÇalışma Kitabı nesne her zaman etkin çalışma kitabına başvurur. ActiveWorkbook'u daha sonra kullanmak üzere bir değişkene atamak istiyorsanız bu kullanışlıdır.

12 Çalışma Kitabı Olarak Dim wbwb = ActiveWorkbook'u ayarla

Bu Çalışma Kitabı

NS Bu Çalışma Kitabı nesne her zaman çalışan kodun depolandığı çalışma kitabına başvurur. ThisWorkbook'u etkinleştirmek için bu kod satırını kullanın:

1 BuÇalışma Kitabı.Etkinleştir

Çalışma Kitabını Aç

Bir çalışma kitabını açmak için Açık Yöntem:

1 Workbooks.Open ("C:\Users\StevePC2\Downloads\book2.xlsm")

Yeni açılan çalışma kitabı her zaman AktifÇalışma Kitabı, onunla kolayca etkileşime geçmenizi sağlar.

1 ActiveWorkbook.Kaydet

Açık Yöntemin, salt okunur açmanıza, parola korumalı bir çalışma kitabı açmanıza ve daha pek çok şeye izin veren birkaç başka argümanı vardır. Çalışma Kitaplarını Açma / Kapama hakkındaki makalemizde burada ele alınmıştır.

Aç ve Değişkene Ata

Ayrıca bir çalışma kitabını açabilir ve aynı anda bir değişkene atayabilirsiniz:

12 Çalışma Kitabı Olarak Dim wbSet wb = Workbooks.Open("C:\Users\StevePC2\Downloads\book2.xlsm")

Dosya İletişim Kutusunu Aç

Dosya Aç İletişim Kutusunu şu şekilde de tetikleyebilirsiniz:

12345678 Alt OpenWorkbook ()Dize Olarak Dim strFilestrFile = Application.GetOpenFilename()Workbooks.Open (strFile)Alt Bitiş

Yeni (Ekle) Çalışma Kitabı Oluştur

Bu kod satırı yeni bir çalışma kitabı oluşturacaktır:

1 Çalışma kitapları.Ekle

Yeni çalışma kitabı artık AktifÇalışma Kitabı, onunla etkileşim kurmanıza izin verir (ör. yeni çalışma kitabını kaydedin).

Değişkene Yeni Çalışma Kitabı Ekle

Bir değişkene doğrudan yeni bir çalışma kitabı da ekleyebilirsiniz:

12 Çalışma Kitabı Olarak Dim wbwb = Çalışma Kitaplarını ayarla.Add

Çalışma Kitabını Kapat

Kapat ve Kaydet

Bir çalışma kitabını kaydetme ile kapatmak için Kapat Yöntemi ile birlikte Değişiklikleri Kaydet DOĞRU olarak ayarlayın:

1 ActiveWorkbook.Close SaveChanges:=True

Kaydetmeden Kapat

Kaydetmeden kapatmak için Değişiklikleri Kaydet YANLIŞ'a eşit:

1 ActiveWorkbook.Close SaveChanges:=False

Çalışma Kitabı Farklı Kaydet

NS SaveAs Yöntemi Bir çalışma kitabını farklı kaydetmek için kullanılır.

Bir çalışma kitabını yeni bir adla aynı dizine kaydetmek için şunu kullanabilirsiniz:

1 ActiveWorkbook.SaveAs "yeni"

burada "yeni" yeni dosya adıdır.

Bir çalışma kitabını belirli bir dosya uzantısıyla yeni bir dizine kaydetmek için yeni dizini ve dosya adını belirtmeniz yeterlidir:

1 ActiveWorkbook.SaveAs "C:\Users\StevePC2\Downloads\new.xlsm"

Diğer Çalışma Kitabı VBA Örnekleri

Çalışma Kitabı Adı

Bir çalışma kitabının adını almak için:

1 MsgBox ActiveWorkbook.Name

Çalışma Kitabını Koru

Çalışma kitabı yapısını düzenlemeye karşı korumak için Koruma Yöntemi (şifre isteğe bağlı):

1 Workbooks("book1.xlsm"). "Parolayı" koruyun

Bir çalışma kitabının korumasını kaldırmak için UnProtect Yöntemi:

1 Workbooks("book1.xlsm"). "Parola" korumasını kaldırın

Tüm Açık Çalışma Kitaplarında Döngü

Tüm açık çalışma kitaplarında dolaşmak için:

123456789 Alt LoopThroughWB'ler()Çalışma Kitabı Olarak Dim wbÇalışma Kitaplarında Her wb içinMsgBox wb.AdıSonraki wbAlt Bitiş

Çalışma Kitabı Etkinleştirme Etkinliği

İle belirli bir çalışma kitabı açıldığında bazı kodlar çalıştırabilirsiniz. Çalışma Kitabı Açık Etkinliği.

Bu prosedürü çalışma kitabınızın ThisWorkbook Modülüne yerleştirin:

123 Özel Alt Çalışma Kitabı_Open()Sayfalar("sayfa1").EtkinleştirAlt Bitiş

Bu prosedür etkinleştirilecek Sayfa1 çalışma kitabı her açıldığında.

wave wave wave wave wave