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.