Skip to main content

Excel'de Tüm Çalışma Kitaplarında VBA Makrolarınızı Nasıl Kaydedip Kullanırsınız?

Author: Zhoumandy Last Modified: 2025-07-21

Farklı Excel çalışma kitaplarında tekrarlayan hesaplamaları otomatikleştirmek, veri biçimlendirmek veya sayıları kelimelere dönüştürmek gibi özel işlevler için aynı VBA makrosunu tekrar tekrar kullanmanız gereken birçok durum vardır. Yaygın bir sorun, makroların varsayılan olarak yalnızca oluşturuldukları çalışma kitabında saklanmasıdır, bu da yeni belgelerde kolayca erişilememesi veya yeniden kullanılamaması anlamına gelir. Ancak Excel, her yeni çalışma kitabı başlattığınızda kodu yeniden kopyalama ihtiyacını ortadan kaldıran VBA makrosunu küresel olarak kullanılabilir hale getirmek için birkaç esnek yöntem sunar. Bu öğretici, VBA makrolarınızın tüm çalışma kitaplarında kolayca erişilebilir olmasını sağlamak için çeşitli yaklaşımlar için kapsamlı talimatlar sağlar, böylece üretkenliğinizi ve iş akışınızı artırır.

A screenshot showing the Add-ins dialog in Excel

Tüm Çalışma Kitaplarında VBA Kodunu Kaydetme ve Kullanma
Kişisel Makro Çalışma Kitabı Yöntemi


Tüm Çalışma Kitaplarında VBA Kodunu Kaydetme ve Kullanma

Örneğin, sayıları İngilizce kelimelerine dönüştürmek için özel bir VBA kodu kullanmak istediğinizi ve hangi çalışma kitabında çalıştığınızdan bağımsız olarak bu özelliğin her zaman mevcut olmasını sağlamak istediğinizi varsayalım. Doğru yaklaşım ile, VBA modüllerinizi Excel'de ihtiyaç duyduğunuz her seferde yeniden kullanılabilir şekilde kaydedebilirsiniz. Bu özellikle her seferinde erişmek istediğiniz özel işlevler veya otomasyonlar için çok yararlıdır, birden fazla dosyada kodu çoğaltmadan.

Bunu yapmak için, VBA kodunuzu özel bir Excel Eklentisi olarak paketleyebilirsiniz. Bu eklenti, Excel'de etkinleştirilebilir ve özel işlevselliğinizi küresel olarak kullanılabilir bir işlev olarak ortaya çıkarır.

Aşağıdaki adımları izleyin:

1. Excel'de Alt + F11 tuşlarına basın ve "Microsoft Visual Basic for Applications" penceresini açın.

2. VBA düzenleyicisinde, Ekle > Modül'e tıklayın ve aşağıdaki makroyu yeni oluşturulan Modül penceresine yapıştırın.

VBA kodu: Sayıları kelimelere dönüştürme

Function NumberstoWords(ByVal MyNumber)
'Update by ExtendofficeDim xStr As StringDim xFNum As IntegerDim xStrPointDim xStrNumberDim xPoint As StringDim xNumber As StringDim xP() As VariantDim xDPDim xCnt As IntegerDim xResult, xT As StringDim xLen As IntegerOn Error Resume NextxP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP >0 ThenxPoint = " point "
xStr = Mid(xNumber, xDP +1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum =1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum,1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNumxNumber = Trim(Left(xNumber, xDP -1))
End IfxCnt =0xResult = ""
xT = ""
xLen =0xLen = Int(Len(Str(xNumber)) /3)
If (Len(Str(xNumber)) Mod3) =0 Then xLen = xLen -1Do While xNumber <> ""
If xLen = xCnt ThenxT = GetHundredsDigits(Right(xNumber,3), False)
ElseIf xCnt =0 ThenxT = GetHundredsDigits(Right(xNumber,3), True)
ElsexT = GetHundredsDigits(Right(xNumber,3), False)
End IfEnd IfIf xT <> "" ThenxResult = xT & xP(xCnt) & xResultEnd IfIf Len(xNumber) >3 ThenxNumber = Left(xNumber, Len(xNumber) -3)
ElsexNumber = ""
End IfxCnt = xCnt +1LoopxResult = xResult & xPointNumberstoWords = xResultEnd FunctionFunction GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As StringDim xStrNum As StringDim xStr As StringDim xI As IntegerDim xBB As BooleanxStrNum = xHDgtxRStr = ""
On Error Resume NextxBB = TrueIf Val(xStrNum) =0 Then Exit FunctionxStrNum = Right("000" & xStrNum,3)
xStr = Mid(xStrNum,1,1)
If xStr <> "0" ThenxRStr = GetDigits(Mid(xStrNum,1,1)) & "Hundred "
ElseIf xB ThenxRStr = "and "
xBB = FalseElsexRStr = " "
xBB = FalseEnd IfEnd IfIf Mid(xStrNum,2,2) <> "00" ThenxRStr = xRStr & GetTenDigits(Mid(xStrNum,2,2), xBB)
End IfGetHundredsDigits = xRStrEnd FunctionFunction GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As StringDim xI As IntegerDim xArr_1() As VariantDim xArr_2() As VariantDim xT As BooleanxArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = TrueOn Error Resume NextIf Val(Left(xTDgt,1)) =1 ThenxI = Val(Right(xTDgt,1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
ElsexI = Val(Left(xTDgt,1))
If Val(Left(xTDgt,1)) >1 ThenIf xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt,1)))
xT = FalseEnd IfIf xStr = "" ThenIf xB ThenxStr = "and "
End IfEnd IfIf Right(xTDgt,1) <> "0" ThenxStr = xStr & GetDigits(Right(xTDgt,1))
End IfEnd IfGetTenDigits = xStrEnd FunctionFunction GetDigits(xDgt)
Dim xStr As StringDim xArr_1() As VariantxArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume NextxStr = xArr_1(Val(xDgt))
GetDigits = xStrEnd Function

3. Şimdi, pencerenin sol üst köşesinde bulunan "Kaydet" simgesine tıklayın veya basitçe Ctrl + S tuşlarına basarak "Farklı Kaydet" iletişim kutusunu açın.
A screenshot showing the Save option in the VBA window

4. "Farklı Kaydet" penceresinde, "Dosya adı" alanına istenen dosya adını girin. "Kaydetme Biçimini Belirt" açılır menüsünde, kesinlikle Excel Eklentisi (*.xlam).
A screenshot showing the Save As dialog box with the selection of Excel Add-in (*.xlam) as the save type

seçeneğini seçtiğinizden emin olun. 5. Makronuzu bir Excel Eklentisi dosyası olarak kaydetmek için "Kaydet" düğmesine tıklayın. Bu, herhangi bir çalışma kitabı için herhangi bir zamanda etkinleştirilebilen yeniden kullanılabilir bir eklenti oluşturur.
A screenshot showing the workbook saved as an Excel Add-in

6. Kaydedildikten sonra, Excel'e dönün ve az önce Eklentiye dönüştürdüğünüz çalışma kitabını kapatın.

7. Makronuzu kullanmak istediğiniz yeni veya mevcut bir çalışma kitabı açın. Özel formülü uygun hücreye girin (örneğin, B2'de):

=NumberstoWords(A2)
Not: Bu aşamada "#AD?" hatası görünebilir. Bu beklenen bir durumdur çünkü makro işlevi içeren Eklenti henüz Excel'de genel olarak yüklenmemiştir. Aşağıdaki adımları izleyerek makronuzu tüm çalışma kitaplarında etkin hale getirebilirsiniz.
A screenshot of the #NAME? error before applying the saved VBA macro

8. Şeride gidin, Geliştirici sekmesine tıklayın ve Excel Eklentileri düğmesine tıklayın.
A screenshot showing the Add-ins option under the Developer tab in Excel

9. Görüntülenen Eklentiler iletişim kutusunda Gözat.
A screenshot of the Add-ins dialog box in Excel

10. Daha önce kaydettiğiniz Eklenti dosyasını bulun ve seçin, ardından Tamam.
A screenshot showing the selection of a custom Add-in file in Excel

11. "Sayıyı Kelimeye Dönüştürme Eklentisi" gibi özel Eklentiniz şimdi Eklentiler listesinde görünmelidir. Onun işaretli olduğundan emin olun ve Tamam tıklayarak etkinleştirin.
A screenshot showing the custom add-in the Add-ins dialog box in Excel

12. Şimdi, hedef hücreye (örneğin, B2) özel işlevi tekrar girin ve Enter tuşuna basın. Formülün sayıyı doğru İngilizce kelimelere dönüştürdüğünü görmelisiniz.

=NumberstoWords(A2)

13. Dönüştürme formülünü birden fazla sayıya hızlıca uygulamak için, hücrenin otomatik doldurma tutamacını aşağı doğru sürükleyerek işlevi diğer hücrelere kopyalayın.

A screenshot showing the final result of the converted numbers to words

İpuçları & Notlar:

  • Makronuzu bir Eklenti olarak kaydetmek, tüm çalışma kitaplarınızda aynı özel işlevleri, kodları veya otomasyonları kullanmanıza olanak tanır, zaman kazandırır ve tutarlılığı artırır.
  • Excel kapatılırsa veya Eklenti daha sonra devre dışı bırakılırsa, Eklentiden gelen işlevler Eklenti yeniden yüklenene kadar geçici olarak "#AD?" gösterebilir. Karışıklığı önlemek için, gerektiğinde Eklenti yöneticisinde Eklentinin her zaman etkin olduğundan emin olun.
  • Bazı kullanıcılar varsayılan olarak Geliştirici sekmesini görmeyebilir. Etkinleştirmek için, şerite sağ tıklayın, "Şeridi Özelleştir" seçeneğini seçin ve "Geliştirici" seçeneğini işaretleyin.
  • Eklentileri kalıcı bir klasörde saklamak, dosyalar taşınırsa veya yeniden adlandırılırsa referansların kaybolmasını önlemek için iyi bir uygulamadır.

Kod çalıştırmayı tercih ederseniz, bu da mümkün olabilir ve hata ayıklama veya ad hoc kullanım için bazen yardımcı olabilir:

  1. Makroyu Hızlı Erişim Araç Çubuğu'na atayabilir ve herhangi bir görünür çalışma kitabında tek tıklamayla çalıştırabilirsiniz. Bunu yapmak için, Hızlı Erişim Araç Çubuğu'na sağ tıklayın, "Hızlı Erişim Araç Çubuğunu Özelleştir" seçeneğini seçin ve ardından makronuzu ekleyin.
    A screenshot showing how to add the VBA macro to the Quick Access Toolbar
  2. Ayrıca Alt + F11 tuşlarına basarak VBA düzenleyicisini açabilir, makronuzu manuel olarak seçebilir ve kodu çalıştırmak için F5 tuşuna basabilirsiniz.

Avantajlar: Bu çözüm, Eklenti etkin olduğu sürece her zaman çalışacak zengin, yeniden kullanılabilir makro işlevselliği oluşturma ve paylaşma imkanı sunar.
Dezavantajlar: Kullanıcılar Eklentiyi yüklemeyi hatırlamalıdır ve çalışma kitaplarını paylaşırken Eklenti dosyasını ve işlev ayrıntılarını da paylaşmalıdır. Ayrıca, Eklentiler Excel Online'da kullanılamaz.


Kişisel Makro Çalışma Kitabı Yöntemi

Sık kullanılan veya en çok kullanılan makrolarınızın her Excel oturumunda, hangi çalışma kitabı açık olursa olsun hazır olmasını sağlamak için başka bir oldukça pratik yöntem, Kişisel Makro Çalışma Kitabı (PERSONAL.XLSB) kullanmaktır. Bu, Excel her başlatıldığında otomatik olarak yüklenen özel bir gizli Excel dosyasıdır ve içinde depolanan her makronun tüm açık çalışma kitaplarında erişilebilir olmasını sağlar.

Uygulanabilir senaryolar: Resmi Excel Eklentileri olarak paylaşmanız gerekmeyen kişisel otomasyonlar, rutin biçimlendirme betikleri veya yardımcı işlevler için idealdir. PERSONAL.XLSB'deki makrolar, hangi dosya açık olursa olsun bilgisayarınızda kullanılabilir.

Avantajlar: Makrolar yerel Excel profiliniz için küresel olarak kullanılabilir ve eklenti veya ekstra dosya yükleme gerektirmez.
Dezavantajlar: Bu şekilde saklanan makrolar yalnızca PERSONAL.XLSB'nin bulunduğu bilgisayar ve hesapta kullanılabilir. Başkalarıyla paylaşmak, modülleri manuel olarak dışa aktarmayı ve içe aktarmayı gerektirir.

  • Bu yöntemi kullanmak için, önce bir makro kaydetmeniz veya oluşturmanız ve Kişisel Makro Çalışma Kitabı'na kaydedildiğinden emin olmanız gerekir.

Aşağıdaki adımları izleyin:

  1. Excel'i açın. Görünüm sekmesinde, Makrolar'a tıklayın ve ardından Makro Kaydet'i seçin.
  2. İletişim kutusunda, "Makroyu kaydet" altında Kişisel Makro Çalışma Kitabı'nı seçin. Kaydı tamamlayın (gerekmese hemen durdurabilirsiniz).
  3. PERSONAL.XLSB için bir proje göreceğiniz VBA düzenleyicisine girmek için Alt + F11 tuşlarına basın. Burada yeni bir modül ekleyin veya istediğiniz makro kodunu yapıştırın.
  4. Değişikliklerinizi kaydedin. Excel, PERSONAL.XLSB çalışma kitabını otomatik olarak oluşturur ve başlangıç klasöründe saklar.
  5. PERSONAL.XLSB'deki makrolar, Makrolar iletişim kutusu (Alt + F8) üzerinden çalıştırılabilir, şerit veya araç çubuğu düğmelerine atanabilir veya VBA'dan çağrılabilir.

Sorun Giderme & Bakım: Eğer PERSONAL.XLSB'deki makrolar kullanılamıyorsa, Excel'in Güvenli Mod'da mı açıldığına veya makro güvenlik ayarlarının "Tüm makroları devre dışı bırak" olarak ayarlanmış olup olmadığına bakın. Ayrıca, PERSONAL.XLSB varsayılan olarak gizlidir; yanlışlıkla kaydetmeden kapatırsanız veya silerseniz, yeniden oluşturmak için bir makro kaydetmeniz gerekebilir.

İpucu: PERSONAL.XLSB dosyanızı düzenli olarak yedekleyin. Sistem profil klasörünüzde bulabilirsiniz, genellikle:
C:\Users\[YourUserName]\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB

Diğer İşlemler (Makaleler)

Excel'de Tüm Eklentileri Listelemek İçin Bir VBA Kodu
Excel'de, verilerle daha iyi başa çıkmak için bazı eklentiler ekleyebilir veya yerleştirebilirsiniz. Bildiğimiz gibi, tüm eklentileri görüntülemek için Seçenekler penceresine gidebiliriz, ancak tüm eklentileri bir sayfada listelemek için bir yol var mı? Şimdi, bu eğitimde, Excel'de tüm eklentileri listelemek için bir VBA kodu sunulmaktadır.

Çalışma Kitabı Açılırken veya Kapanırken VBA Makrosu Nasıl Çalıştırılır?
Bu makalede, çalışma kitabını her açtığınızda veya kapattığınızda VBA kodunu nasıl çalıştıracağınızı anlatacağım.

Excel'de VBA Kodunu Nasıl Koruyabilir / Kilitleyebilirim?
Çalışma kitaplarını ve çalışma sayfalarını korumak için parola kullanabileceğiniz gibi, Excel'deki makroları korumak için de bir parola ayarlayabilirsiniz.

Excel'de VBA Makrosu Çalıştırdıktan Sonra Zaman Gecikmesi Nasıl Kullanılır?
Bazı durumlarda, Excel'de bir VBA Makrosunu tetiklemek için bir zamanlayıcı gecikmesi yapmanız gerekebilir. Örneğin, belirli bir makroyu çalıştırmak için tıkladığınızda, 10 saniye sonra etkili olacaktır. Bu makale, bunu nasıl başaracağınızı gösterecektir.

En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veri analizinde devrim yaratın: Akıllı Yürütme   |  Kod Oluştur  |  Özel Formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur  |  Geliştirilmiş İşlevleri Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle   |  Boş Satırları Sil   |  Sütunları veya Hücreleri Verileri Kaybetmeden Birleştir   |   Formül Olmadan Yuvarla ...
Süper ARA: Çok Kriterli Düşeyara    Çoklu Değer Düşeyara  |   Çoklu sayfa araması   |   Bulanık Eşleme ....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekle  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştır ...
Öne Çıkan Özellikler: Izgara Odaklama   |  Tasarım Görünümü   |   Gelişmiş formül çubuğu    Çalışma Kitabı & Çalışma Sayfası Yöneticisi   |  Otomatik Metin Kütüphanesi (Auto Text)   |  Tarih Seçici   |  Veri Birleştir   |  Hücreleri Şifrele/Şifre Çöz    Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtrele...) ...
En İyi15 Araç Seti12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...)   |   50+ Grafik Türü (Gantt Grafiği, ...)   |   40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...)   |   19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...)   |   12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...)   |   7 Birleştir & Böl Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...)   |   ... ve daha fazlası

Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar.  En çok ihtiyacınız olan özelliği almak için buraya tıklayın...


Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır

  • Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!