modüller arası işlem

Katılım
6 Ağustos 2005
Mesajlar
63
Excel Vers. ve Dili
MSofis 2003 türkçe
sayın hocalarım değerli arkadaşlar
Aynı çalışma kitabındaki yaptığım projede 4 farklı isimli modül var. Modül 1(adını Kayıt olarak değiştirdim), Modül2(adını kayıtbul olarak değiştirdim), Modül3(ilk_açılım), Modül4(sil) şeklinde.Bu modüllerin herbirinde bir private altprogram var. Sayfa üzerindeki butonlarla bunlar çalışıyor. Herhangi bir modül içindeki alt progarama iki işlem yaptıramadım. başka modüldeki alt program bulunamadı diye yazıyor.
Örnek olarak kayıt modülünde giderkayıtet private alt programı var,ben giderkayıtet alt programı içinde end sub satırından önceki satırda , bul modülünde yazılı giderkayıtbul private alt programını çalıştırmak isteyince ,giderkayıtbul alt programı bulunamadı yazıyor.Bu sorunu nasıl çözerim .İki alt programı tek modüle koyunca işlem oluyor. Fakat modüle yazılan satırlar çok fazla oluyor. fazla sayıdaki alt programları aynı modül içine koyunca hata denetimi yapmak için modül içinde arama yapmak zor oluyor.
bende her bir altprogramı ayrı modüllere koymak istedim.fakat yazdığım sorun çıktı .yardımlarınız için teşekkürler.
yazdığım satırlar şöyle:
kayıt modulündeki giderkayıtet altprogramı end sub satırından önce
bul.giderkayıtbul yazdım olmadı
modulebul.giderkayıtbul yazdım olmadı
bul module.giderkayıtbul yazdım olmadı

acaba alt programları private sub şeklinde yazdığım için mi bulunamıyor.teşekkürler
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,642
Excel Vers. ve Dili
Pro Plus 2021
kartal1a' Alıntı:
acaba alt programları private sub şeklinde yazdığım için mi bulunamıyor.teşekkürler
Sorunuzun yanıtını kendiniz verin, Private leri kaldırıp deneyin.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
kartal1a' Alıntı:
.....
acaba alt programları private sub şeklinde yazdığım için mi bulunamıyor.teşekkürler
Durum, aynen ifade ettiğiniz gibi.

Private ifadelerini sildikten sonra deneyin.

Standart moduller zaten Public modüllerdir. Yani, proje bütünün geneline hitap ederler. Bu durumda, Public bir modülde herhangibir prosedürü Private yani, "özel" olarak deklare etmek çok anlamlı olmayacaktır.

Diğer taraftan, bahsettiğiniz yöntem sadece "varsayılan" olarak Public olan bir modüldeki prosedürlerin ve modulün kendisinin de Private yapılmak istenmesi halinde mantıklı olacaktır.

Sözün kısası ..... Private ifadelerini sildikten sonra deneyin.
 
Katılım
6 Ağustos 2005
Mesajlar
63
Excel Vers. ve Dili
MSofis 2003 türkçe
Sayın Hocalarım ve değerli arkadaşlar
Diğer bir formdan öğrendiğim kodu sizlerle paylaşmak istedim Belki mahsuru vardır diye diğer formun adını yazmadım.
Application.Run "giderkayıtbul"
şeklinde yazınca private sub olsa bile çalışıyor. Hepinize Teşekkürler Kolay gelsin
 
Üst