• DİKKAT

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

CommadButton ile düğme arasındaki fark

Katılım
8 Haziran 2007
Mesajlar
401
Excel Vers. ve Dili
excel fonksiyonlar
Forumda emeği geçen herkese merhaba. Arkadaşlar aşağıdaki kodları sayfa1 de oluşturmuş olduğum commanbuttona atayınca range sınıfı başarısız diye bir uyarı alıyorum. Ama aynı kodları form denetimlerindeki düğmeye atayınca sorun çıkmıyor. Kodlar çalışıyor. İlla commandbutton kullanacağım diye bir derdim yok. Ama makroları yeni yeni öğreniyorum sorun ne fark ne derdim onu kavramak. İlgilenen arkadaşlara şimdiden teşekkürler. :)

Sheets("Sayfa3").Select
Range("A2").Select
 
"... sınıfının ... yöntemine aykırı." Madem öyle, Vba Editörü bu şekilde yazmamıza kızıyorsa, bizde kodu farklı şekilde yazarız olur biter.

Kod:
Private Sub CommandButton1_Click()
Application.Goto ActiveWorkbook.Sheets("Sayfa3").[a2]
End Sub
Aşağıdaki linkte konu ile ilgili bir makale mevcut, incelemenizi tavsiye ederim.
http://support.microsoft.com/kb/291308/tr
 
Merhaba, daha önce CommandButtonlarda sayfa ve hücre seçmelerinde niye hata verdiği benimde aklıma takılmıştı.
Aşağıdaki gibi alternatifler kullanmıştım.


Kod:
Private Sub CommandButton1_Click()
Sheets("Sayfa3").Select _
Range("A2").Select
End Sub

veya

Kod:
Private Sub CommandButton1_Click()
Sheets("Sayfa3").Select
Sheets("Sayfa3").Range("A2").Select
End Sub
 
Merhaba, daha önce CommandButtonlarda sayfa ve hücre seçmelerinde niye hata verdiği benimde aklıma takılmıştı.

Bunun sebebini şöyle açıklayabiliriz. Bir commandbuttonun click olayına yazılan kodlar, butonun içinde bulunduğu sayfanın kod sayfasına yazılır. Dolayısıyla sayfa adı belirtilmeden yapılan hücre tanımlamaları sadece butonun içinde bulunduğu sayfa için geçerli olacaktır.

Diyelimki commandbuttonu sayfa1 üzerine yerleştirdiniz. Bu butonun click olayına yazılacak kodlar sayfa1'in kod sayfasına yazılacaktır. Bu butona aşağıdaki gibi kodlar yazdığınızda sayfa3 seçilecek ancak o anda aktif sayfa, sayfa1 olmayacağı için A2 hücresini seçemeyecek ve hata verecektir.

Sheets("Sayfa3").Select
Range("A2").Select

Bu hatayı çözmek için yapılacak uygulama Hüseyin beyin mesajında yazdığı gibi olmalıdır.
 
Çözümler için de açıklamalar için de teşekkürler. :)
 
Geri
Üst