• DİKKAT

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

Bir makroyu çalışma kitaplarında ortak kullanma

Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Merhabalar değerli arkadaşlar.
arkadaşlar ben bir excel dosyasında bir giriş kontrolü makrosu yazdım. Yani Excel kitabı başladığında şifre istiyor ve kayıtlı olan şifreler arasından kontrol sağlıyor.
Ben bu giriş makrosunu diğer hazırladığım 2 tane çalışma kitabında da kullanmak istiyorum. Ama bu makroyu diğerlerine içe aktararak kullandığımda makro üzerinde bir güncelleme olursa diğerlerine de tek tek yansıtmam gerekiyor. Acaba bu yazdığım makroyu bu şekilde ortak bir noktadan kullanma şansımız var mı?
Teşekkürler.
 
Merhaba,

Makronuzu PERSONAL.xls/PERSONAL.xlsb/PERSONAL.xlsm dosyasına kayıt ederseniz tüm dosyalarınızda kullanabilirsiniz.
 
Merhaba hocam ne demek istediğinizi tam anlayamadım. Biraz daha açıklayabilir misiniz?
 
Konuyla ilgili forumda örnekler var. Lütfen arama yapınız.
 
Merhaba
Hocam bu makaleyi görmüştüm Deneme fırsatı bulamamıştım. İnşallah buradan içe aktararak kullanmak zorunda kalmam.
 
Merhaba
Hocam bu makroları naasıl çağırabiliriz? Yada bunları kopyalamamız mı gerekir? Bu konuda bir bilginiz var mı?

@Korhan Ayhan hocamın söylediği, makrolarınızı. Deneme kısmına değil, Personal kısmına kaydedeceksiniz.
Dosya konumu C:\Users\muratgunay48\AppData\Roaming\Microsoft\Excel\XLSTART

Personal.PNG
 
Son düzenleme:
Mehaba
Tamam hocam zaten oraya kayıt edeceğim. Bunu öğrendim. Ama deneme dosyasından bunlara Application.Run ile mi erişmek gerekir? yoksa bunları oraya kopyalamak mı gerekir.
 
XLSSTART klasörüne kayıt ettiğiniz dosya her açtığınız excel dosyası ile birlikte açılır. Bu sebeple Alt+F8 tuşuna bastığınızda PERSONAL.xlsb dosyasındaki makrolara erişebiliyor olmanız gerekir.
 
Merhaba
Korhan hocam makrolara erişebiliyorum. Ancak benim sormak istediğim şu: Buradaki makroları örneğin ben kitap1 içinde kullanmak istediğimde ortak noktadan kopyala yapıştır mı yapmam gerekiyor? Yoksa Application.Run ile çağırmak mı gerekiyor yada farklı bir yöntem.
 
Eriştiğniz makroyu çalıştır dediğinizde işlem görmüyor mu?
 
Merhaba
Hocam makrolar penceresinde görünüyorlar. Ancak ben bunları kodun içinde kullanacağım. Ortak noktada olan Makro1 isimli makroyu kullanmak için kitap1 içinden nasıl çağırmalıyım?
 
Denemedim ama normalde excel açılışında PERSONAL.xlsb dosyasıda açılacağı için Application.Run ile çağırabilirsiniz.
 
Arkadaşlar Merhaba
personel.xla adında bir eklenti klasörü içinde
Public shtzoom as Integer olarak bir değişken tanımladım .
Bu değişkeni herhangi başka bir çalışma kitabında değer atadığımda ve tekrar çağırdığımda değer gelmiyor.
Yani bir çalışma kitabına tanımladığım değişkeni ,başka bir çalışma kitabında nasıl kullanabilirim.
Public fonsiyonu ile olmadı
 
Hocam bu makroları naasıl çağırabiliriz? Yada bunları kopyalamamız mı gerekir? Bu konuda bir bilginiz var mı?
 
Hocam bu makroları naasıl çağırabiliriz? Yada bunları kopyalamamız mı gerekir? Bu konuda bir bilginiz var mı?
iki dosya da açık olacak

Sub cagir()
Application.Run "'DosyaAdı.xlsm'!MakroAdı"
End Sub

kendi dosyanıza bu kodu yazarsanuz makroyu çağırır. Dosyadı.xlsm kısmına kendi dosyanızın adını ve uzantısını ekleyin. Makrı adına da diğer dosyadaki makro adını yazın.
 
Arkadaşlar Merhaba
personel.xla adında bir eklenti klasörü içinde
Public shtzoom as Integer olarak bir değişken tanımladım .
Bu değişkeni herhangi başka bir çalışma kitabında değer atadığımda ve tekrar çağırdığımda değer gelmiyor.
Yani bir çalışma kitabına tanımladığım değişkeni ,başka bir çalışma kitabında nasıl kullanabilirim.
Public fonsiyonu ile olmadı

Kontrollerde fark ettim ki .xla dosyasındaki modüller arasında da bilgi taşınmıyor
 
Merhaba @kykbt ,
Sorunuzu doğru anladıysam...
personel.xla dosyasında herhangi bir modüle aşağıdaki kodları ekleyin:
C++:
Option Explicit
Public shtzoom As Integer

Public Sub shtzoomYAP(Deger As Integer)
    shtzoom = Deger
End Sub

Public Function shtzoomKAC()
    If shtzoom = 0 Then shtzoom = 100 ' Varsayılan değer
    shtzoomKAC = shtzoom
End Function

Artık herhangi bir Excel dosyasında şu kodlarla bu değişkeni kontrol edebilirsiniz:
C++:
Sub zoomAyarla()
    Application.Run "shtzoomYAP", 60
End Sub
Sub zoomOku()
    MsgBox Application.Run("shtzoomKAC")
End Sub
 
Son düzenleme:
Hocam öncelik ile ilginiz için çok teşekkür ederim.
Zahmet ettiniz.
Ancak,
Public shtzoom As Integer sadece bir örnek idi.
Benzer şekilde yaklaşık otuz adet değişken var.
Bu değişkenler için her kitapta tanımlama yapmak istemediğimden ".xla" da bir modül,ü ortak kullanmak istiyorum.
 
Geri
Üst