Vba'da excel elektronik tablosu nasıl kullanılır?

VBA’da çalışma sayfası nesnesi, çalışma kitabının çalışma sayfaları (veya sayfalar) koleksiyonunun parçası olan tek bir çalışma sayfasını temsil eder. Çalışma sayfası nesnesini kullanarak VBA kodundaki çalışma sayfasına başvurabilir ve bir çalışma sayfasına başvuruda bulunabilir, bununla ilgili özelliklere, yöntemlere ve olaylara da erişebilirsiniz.

Burada bir çalışma sayfasının Excel nesne hiyerarşisindeki konumuna hızlı bir genel bakış verilmiştir.

Uygulama Çalışma Kitabı Çalışma Sayfaları Çalışma Sayfası

Bu eğitimde, VBA kodunu kullanarak Excel’de bir çalışma sayfasının nasıl kullanılacağını ve referans alınacağını öğreneceğiz.

Yararlı bağlantılar: Makro çalıştırmaMakro kaydediciVisual Basic DüzenleyiciKişisel Makrolar El Kitabı

E-Tablolar ve E-tablolar

En baştan başlayalım. Bu, bir e-tablo ile bir sayfa arasındaki farkı anlamak önemlidir. Excel’de, çalışma kitabına ekleyebileceğiniz sayfa türleri vardır ve çalışma sayfası da bu türlerden biridir. Aşağıdaki anlık görüntüde görebileceğiniz gibi yeni bir sayfa eklediğinizde Excel sizden sayfa tipini seçmenizi ister.

Anlaşılması gereken şey şu: “Sayfalar” kelimesini kullandığınızda, tüm sayfalara (elektronik tablolar, makro sayfalar ve grafik sayfaları) atıfta bulunursunuz, ancak “çalışma sayfası” kelimesini kullandığınızda yalnızca elektronik tablolara atıfta bulunursunuz ( bkz. Ayrıca ).

sayfa vs çalışma sayfaları

VBA kullanarak bir çalışma sayfasına (sayfaya) erişme

VBA, bir çalışma kitabından bir çalışma sayfasına erişmeniz için size farklı yollar sunar ve bunu daha sonra yapmanın farklı yollarına bakacağız.

1. Adını kullanarak bir sayfaya bakın

Her sayfanın onu tanımlayacak bir adı vardır ve bunu o sayfaya atıfta bulunmak için de kullanabilirsiniz. Diyelim ki “Sayfa1”e başvurmak istediğinizi varsayalım, kod şöyle olacaktır:

adını kullanarak bir sayfaya bakın
 Sheets(“Sheet1”) Worksheets(“Sheet1”)

Yukarıdaki iki kod “Sayfa1”e atıfta bulunmaktadır.

2. Numarayı kullanarak sayfaya bakın

Başvuruda bulunmak için bir sayfa numarası da kullanabilirsiniz. Bir sayfanın çalışma kitabında beşinci konumda olduğunu varsayalım, ona başvurmak için bu numarayı kullanabilirsiniz.

 Sheets (5) Worksheets (5)

Şimdi yukarıda iki farklı şekilde çalışan iki kod satırı var. İlk satır çalışma kitabındaki 5. sayfayı, ikincisi ise 5. çalışma sayfasını ifade eder.

bir sayı kullanarak bir sayfaya bakın

3. ActiveSheet’e bakın

Bir sayfa zaten etkinse, adı yerine “Activesheet” anahtar sözcüğünü kullanarak ona başvurabilirsiniz.

 ActiveSheet

ActiveSheet’te bir aktivite gerçekleştirmek istiyorsanız “Activesheet” nesnesini kullanabilirsiniz ancak kullanmazsanız VBA yine de aktif sayfada aktiviteyi gerçekleştirecektir.

Okuyun: VBA Kullanarak Bir Aralık Seçin

4. Kod penceresi adını kullanarak bir sayfaya bakın

Her sayfanın kendi kod penceresi vardır ve bu kod penceresinin bir adı vardır. Genellikle bir kullanıcı sayfa adını sekmeden değiştirebilir, ancak kod penceresinde sahip olduğunuz ad, siz bunu özelliklerden yapmadığınız sürece değiştirilemez.

Geliştirici sekmesinden Visual Basic Düzenleyicisi’ni açın ve özellikler bölümünde seçtiğiniz sayfanın adını görebilirsiniz.

kodu kullanarak bir sayfaya bakın

Ayrıca bu ismi özellikler kısmından da değiştirebilirsiniz.

kod-pencere-adını kullanma

Artık kod penceresi adını kullanarak buna başvurabilirsiniz.

 mySheet

5. Birden Fazla Sayfaya Bakın

Ayrıca tek bir kod satırı kullanarak birden fazla sayfaya aynı anda başvuruda bulunabilirsiniz. Bunun için tıpkı aşağıdaki koddaki gibi bir dizi kullanabilirsiniz.

 Sheets(Array("Sheet1", "Sheet2"))

Bu kod “Sayfa1” ve “Sayfa2″ye atıfta bulunur, ancak birden fazla sayfaya atıfta bulunurken anlamanız gereken bir şey vardır; kullanamayacağınız birkaç yöntem ve özellik vardır.

6. Başka bir çalışma kitabındaki sayfaya bakın

Bir çalışma sayfası veya sayfa, bir çalışma kitabındaki çalışma sayfaları koleksiyonunun bir parçasıdır ve etkin çalışma kitabı dışında belirli bir sayfaya başvurmak istiyorsanız, önce o çalışma kitabına başvurmanız gerekir.

 Workbooks("Book1").Sheets("Sheet1")

Bu kodu çalıştırmak için “Kitap1” açık olmalıdır.

Bir sayfa veya çalışma sayfasıyla ilgili özellikler, yöntemler ve olaylar

VBA’da her Excel nesnesinin kullanabileceğiniz özellikleri, yöntemleri ve olayları vardır ve aynı şekilde onunla birlikte gelen özellik ve yöntemlere de erişebilirsiniz. Bir çalışma sayfasını belirledikten sonra bir nokta (.) yazın, listeyi alacaksınız.

bir-sayfayla-bağlantılı-olaylar

Bu listede el görebileceğiniz tüm simgeler özellikler, yeşil tuğlanın bulunduğu simgeler ise yöntemlerdir.

Mülk Örneği

Diyelim ki çalışma sayfası sekmesinin rengini değiştirmek istiyorsunuz. Bu durumda çalışma sayfasının SEKME özelliğini kullanabilirsiniz.

 mySheet.Tab.ThemeColor = xlThemeColorAccent2

Yukarıdaki kod satırında, çalışma sayfası sekmesinin rengini değiştirmek için tab özelliğine ve başka bir tema rengi özelliğine sahipsiniz.

Örnek yöntem

Aynı şekilde e-tablolarda sunulan yöntemleri de kullanabilirsiniz. En yaygın yöntemlerden biri, bir sayfayı seçmek için kullanabileceğiniz “Seç” yöntemidir.

 mySheet.Select

Bu kodu çalıştırdığınız anda aktif çalışma kitabında “mySheet” seçilir.

Örnek olay

Bazı olaylar bir çalışma sayfasıyla ilişkilendirilir. Örneğin, bir sayfayı etkinleştirdiğinizde bu bir olaydır ve benzer şekilde, sayfada bir şeyi değiştirdiğinizde de bu bir olaydır. Bir olay (çalışma sayfasında değişiklik) meydana geldiğinde çalıştırılacak kodunuzun bulunduğu aşağıdaki koda bakın.

olay örneği
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Range("A1").Value = Range("A1").Value + 1 End Sub

Bu kod, çalışma sayfasında her değişiklik yaptığınızda sayfanın A1 hücresine bir değer girer.

Bir çalışma sayfası nesnesi bildirme

Ayrıca bir değişkeni çalışma sayfası olarak da bildirebilirsiniz; bu, söz konusu çalışma sayfasının VBA kodunda kullanılmasını kolaylaştırır. Önce DIM anahtar sözcüğünü, ardından değişken adını kullanın. Bundan sonra nesne türünü Çalışma Sayfası olarak belirtin.

bir-e-tablo-nesnesini ilan et

Yorum ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir