• DİKKAT

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

Kalıtım ile ilgili bir soru

Katılım
25 Ocak 2009
Mesajlar
110
Excel Vers. ve Dili
Excel-2007 Türkçe
Merhaba arkadaşlar benim takıldığım nokta;

module 1 altında yazdığım bir makro var.

Sub makro1()

Dim nokta_sayisi As Integer

End Sub

şeklinde diyelim.

Şimdi oluşturduğum userform1 ın kod sayfasını açtığımda

Sub commandbutton1_Click yordamı altında
Dim b as Integer
b=makro1.nokta_sayisi +5
gibi makro1() altında tanımladığım nokta_sayisi değişkenin değerini miras olarak Click yordamına almak istiyorum.
End Sub

Şimdi sorum şu ;
Sub Makro1() altında
userform1.commandbutton1 şeklinde yazmaya başlarken userform1 den hemen sonra userform1 in üyeleri karşıma çıkabilirken

benzer şeyi Sub commandbutton1_click altında
makro1. yazdıktan sonra nokta sayısı adlı değişkeni otomatik olarak neden göremiyorum?

makro1'in içindeki değişkenlere click yordamı altında ulaşmak için ne yapmalıyım?

Teşekkürler

İyi çalışmalar
 
Sorumu biraz daha ilerletmek istiyorum arkadaşlar;

Şimdi daha önce Module1 sınıfının altında Sub Makro1() adı altında bir subroutine tanımlamış ve bu sub Makro1() altında nokta_sayisi isimli bir değişken oluşturmuştum.

İstediğim ise Userform1 sınıfının altında tanımlı Sub commandbutton1_click adlı subroutinde(yordamda), nokta_sayisi isimli değişkeni sub Makro1() deki işlemler sonucunda aldığı değere sahip olacak biçimde çağırabilmekti.

Sub Commandbutton1_Click altında
Module1 . yazdığımda noktadan sonra sadece Sub Makro1() karşıma çıkıyordu buradan anladım ki module1 sınıfının içindeki makro1() subroutine in içinde tanımlı değişkenlere ulaşamıyorum.

O zaman nokta_sayisi adlı değişkeni Sub Makro1() subroutinein üzerinde global bir değişken olarak tanımlamam gerektiğini anladım.

Gerçekten Module1. nokta_sayisi isimli değişkene Sub Commandbutton1_Click altında ulaşabiliyorum şimdi.

Peki nokta_sayisi isimli değişken Sub Makro1() de işlemler sonucu aldığı değere mi sahip Click yordamı altında?

Teşekkürler
 
Selamlar,

Boş bir modüle aşağıdaki kodu uygulayın.

Kod:
Option Explicit
Public X As Byte
 
Sub TEST()
    X = 5
End Sub

Formunuzun üzerine bir buton ekleyin. Aşağıdaki kodu formun kod bölümüne uygulayın.

Kod:
Option Explicit
 
Private Sub CommandButton1_Click()
    [COLOR=red]Module1.TEST[/COLOR]
    MsgBox X - 4
End Sub
 
Teşekkürler Korhan Bey buradan değişkenin subroutine de aldığı değerle commandbutton1_click yordamına aktarılabildiğini görüyoruz di mi ? Sonuç 5-4=1 çıktığına göre

İyi çalışmalar
 
Selamlar,

Evet doğrudur.
 
Geri
Üst