• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sayfa İsimleri Yerine ID Kullanımı

Katılım
12 Temmuz 2011
Mesajlar
30
Excel Vers. ve Dili
Office 2010 English
Merhaba,

Bir husus dikkatimi çekti, VBA kodlarını yazdığımız pencerede solda; Microsoft Excel Objects ağacında bizim aşağıdaki sekmeler (Sheets) yer alıyor. Ancak kendisi bunlerın bizim yazdığımız ismi ne olursa olsun bir ID ile takip ediyor.

Mesela;
Sheet1(Bilanço)
Sheet2(GelirTablosu)
Sheet3(Todo)

gibi..
Benim sorum şu; ben macrolarda şunu kullanıyorum:
For Each cell In Worksheets("Bilanço").Range("H2")

Burada Worksheets("Bilanço") yerine nasıl Worksheets(Sheet1("Bilanço")) yazarız? Yani ben oradaki "Bilanço" olan sheet' i değiştirsem bile o macronun çalışmaya devam edebilmesi için nasıl bir syntax kullanmalıyım?
 
Merhaba, şu şekilde de çalıştırabilirsiniz.
Kod:
 Worksheets(1).Name
 
Merhaba,

O benim de aklıma gelmişti ancak yukarıda örneğini verdiğim formatın içine sokunca çalışmıyor. Debug dediğimde şu satırı highlight ediyor.

For Each cell In Worksheets(4).Name.Range("H2")
 
Pardon, ben onu yazarken aklımda başka bir şey vardı name kısmı olmayacak.
Kod:
Worksheets(4).Range("H2")
 
Sayfa adı, ekranda görebileceğiniz addır. Bir de sayfanın VBA adı vardır; o da gördüğünüz gibi "Sheet1" dir.

"Bilanço" adı ör. "Bilanço2" gibi değişse, hatta sayfaların sıralaması bile değişse aşağıdaki gibi kodlama ile karışıklık olmaz.

Kod:
msgbox sheet1.range("a1")
 
Sayfa adı, ekranda görebileceğiniz addır. Bir de sayfanın VBA adı vardır; o da gördüğünüz gibi "Sheet1" dir.

evet, ben de vba adı kullanımı sormuştum, çok güzel oldu işimi gördü, teşekkürler saygılar.
 
Geri
Üst