• DİKKAT

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

Worksheet'lerin Name Özelliği

  • Konbuyu başlatan Konbuyu başlatan kurten
  • Başlangıç tarihi Başlangıç tarihi
Katılım
28 Nisan 2007
Mesajlar
12
Excel Vers. ve Dili
Office 2007 Türkçe
Merhaba arkadaşlar.

Benim bir problemim var. Sheet'lerin adına başvuru yaparken;

ActiveSheet.Name
Worksheets("Name").Name vb. yöntemler kullanıyorum. Ancak buradaki "NAME"ler Excel'deki Sekme başlıkları. Yani VBA'deki Properties penceresindeki özelliklerden Name özelliğine karşılık geliyor. Orada bir de (Name) özelliği var. Yani parantez içinde (Name) yazan özellik. En üstte bulunan. Bu (Name) özelliğine kodla nasıl ulaşabileceğimi bulamadım. Başka yerlerde de aradım, burada forumda da aradım. Ama bulamadım. Bu konuda bir bilgisi olan var mı?
 
Merhaba,

Tam olarak ne yapmak istediğinizi anlayamadım. Daha detaylı açıklayınız.

.
 
Foruma hosgeldiniz.

Sheets("Name").Index ile o sayfanin index numarasini alabilirsiniz.
Eger Turkce excel kullaniyorsaniz => mySheetName = "Sayfa" & Sheets(strSheetName).Index
Eger Ingilizce excel kullaniyorsaniz => mySheetName = "Sheet" & Sheets(strSheetName).Index

Umarim faydasi olmustur...

Kolay gelsin,

--
Mithat
 
Son düzenleme:
O özelliği kullanmayın.İndex kullanın.Her zaman geçerlidir.
Kod:
msgbox sheets(1).range("A1").value
 
Merhaba,

Tam olarak ne yapmak istediğinizi anlayamadım. Daha detaylı açıklayınız.

.

ben kodu şöyle yazdığımda activesheet.name="Sınıf Listeleri"
şöyle bir şey oluyor:
1900.jpg

ben ise şunu değiştirmek istiyorum:
1894.jpg

Umarım bunu yapabiliyoruzdur.
 
O özelliği kullanmayın.İndex kullanın.Her zaman geçerlidir.
Kod:
msgbox sheets(1).range("A1").value

Evren teşekkür ederim tavsiyene. Genelde ben de dikkat ediyorum böyle kullanmaya. Ama bu kez durum biraz bunu gerektiriyor. Sayfalar değişiyor, siliniyor,yeni sayfa oluşturuluyor vb.. Bu yüzden de VBA'de geçerli (Name) özelliğine ulaşabilirsem süper olacak.
Teşekkürler.
 
merhaba

sanırım böyle birşey istiyorsunuz.

Kod:
Sub sayfa_name()
'SayfaAdı = deneme.Name   'başlangıçta varsayılan ad: Sayfa1.Name
SayfaAdı = deneme.Name
MsgBox SayfaAdı
End Sub
 

Ekli dosyalar

aşağıdaki kodlarla ulaşabilirsiniz.
activesheet.CodeName
sheets(1).codename

Evet, işte buymuş. Çok teşekkür ederim. Ancak şimdi de şöyle bir durum oluştu. Evet, ben bu CodeName'e ulaşmak istiyordum, ulaştım. Peki değiştirmek istediğimde neden hata veriyor olabilir?

Wrong Number of arguments or invalid property assingment

hatasını veriyor şu kodu yazdığımda:

Kod:
ActiveSheet.CodeName = "siniflisteleri"

Acaba, CodeName runtime'da değiştirilemez bir özellik olabilir mi? Umarım böyle değildir.

Evet, şimdi Help'te gördüm, runtime'da değiştirilemiyormuş. :( :( :(
 
Son düzenleme:
Aşağıdaki kodla değiştirebilirsiniz. Önce Araçlar/Makro/Güvenlik/Güvenilir Yayımcılar'da "vba erişişimine güven" seçeneğini işaretleyin ama bu işlem ne kadar güvenli onu bilmiyorum.
Sub a()
ThisWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).Name = "NewName"
End Sub
 
Bu konuda excel yerdımında aşağıdaki açıklma var.
"Yöntem veya özellik, güvenlik ayarları nedeniyle kullanılamamaktadır. Örneğin, bir Microsoft Office belgesinde saklanan Microsoft Visual Basic for Applications (VBA) kodunu el ile işlemek üzere kullanılan VBE nesnesinin özellikleri ve yöntemleri, varsayılan değer olarak erişilemez konumundadır.
Visual Basic Projelerine güvenilir erişimi çalıştırmak için:

Araçlar menüsünden, Makro'yu seçin, sonra Güvenlik seçeneğini tıklatın.
Güvenilir Kaynaklar sekmesinde Visual Basic Project erişimine güven onay kutusunu işaretleyin.
Yöntemin nasıl kullanılacağı hakkında ayrıntılı bilgi için Visual Basic Yardımı'nda yöntemin adını arayın."
 
Geri
Üst