KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel'de VBA makrolarınızı tüm çalışma kitaplarında nasıl kaydedip kullanabilirsiniz?

YazarZhoumandy Değiştirme Tarihi

Aynı VBA makrosunu, tekrarlayan hesaplamaları otomatikleştirmek, veri biçimlendirmeyi standartlaştırmak veya sayıları sözcüklere dönüştürmek gibi özel işlevleri gerçekleştirmek amacıyla farklı Excel çalışma kitaplarında tekrar tekrar kullanmanız gerekebilir. Ancak karşılaşılan yaygın bir zorluk, makroların varsayılan olarak yalnızca oluşturuldukları çalışma kitabında saklanmasıdır; bu da yeni belgelerde bunlara kolayca erişmenizi veya yeniden kullanmanızı engeller. Neyse ki Excel, VBA makrolarınızı genel olarak kullanılabilir hale getirmek için birkaç esnek yöntem sunar—böylece her yeni çalışma kitabı oluşturduğunuzda kodu tekrar kopyalamanıza gerek kalmaz. Bu öğretici, VBA makrolarınızın tüm çalışma kitaplarınızda sorunsuzca erişilebilir olmasını sağlamak için çeşitli yaklaşımları adım adım açıklar ve hem üretkenliğinizi artırır hem de iş akışınızı optimize eder.

Excel'de Eklentiler iletişim kutusunu gösteren bir ekran görüntüsü

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


VBA Kodunu Tüm Çalışma Kitaplarında Kaydedin ve Kullanın

Örneğin, sayıları eşdeğer İngilizce kelimelere dönüştürmek için özel bir VBA kodu kullanmak ve bu özelliğin hangi çalışma kitabında olursanız olun her zaman hazır bulunduğundan emin olmak istediğinizi düşünelim. Doğru yaklaşım sayesinde VBA modüllerinizi, Excel’de ihtiyaç duyduğunuzda yeniden kullanılabilir şekilde kaydedebilirsiniz. Bu yöntem, özellikle birden fazla dosyada aynı kodu tekrarlamadan özel işlevlerinize veya otomasyonlarınıza anında erişmek istiyorsanız büyük kolaylık sağlar.

Bunu yapmak için VBA kodunuzu özel bir Excel Eklentisi olarak paketleyebilirsiniz. Bu eklenti, Excel’de etkinleştirildiğinde özel işlevselliğinizi genel olarak kullanılabilir bir işlev haline getirir.

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

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

2. VBA düzenleyicide, Ekle > Modül seçeneğine tıklayın ve aşağıdaki makroyu yeni oluşturulan Modül penceresine yapıştırın.

VBA kodu: Kelimeye Dönüştür Dönüştür

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öşesindeki "Kaydet" simgesine tıklayın ya da "Farklı Kaydet" iletişim kutusunu açmak için Ctrl + S tuşlarına basın.
VBA penceresinde Kaydet seçeneğini gösteren bir ekran görüntüsü

4. "Farklı Kaydet" penceresinde, "Dosya adı" alanına istediğiniz dosya adını girin. "Kaydetme Biçimini Belirt" açılır menüsünden Excel Eklentisi (*.xlam) seçeneğinin seçili olduğundan emin olun.
Kayıt türü olarak Excel Eklentisi (*.xlam) seçili olan Farklı Kaydet iletişim kutusunu gösteren bir ekran görüntüsü

5. Çalışma kitabınızı, herhangi bir çalışma kitabında istediğiniz zaman etkinleştirebileceğiniz yeniden kullanılabilir bir eklenti olarak kaydetmek için "Kaydet" düğmesine tıklayın.
Çalışma kitabının Excel Eklentisi olarak kaydedildiğini gösteren bir ekran görüntüsü

6. Kaydettikten 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ını açın ve özel formülü ilgili hücreye girin (örneğin B2):

=NumberstoWords(A2)
Not: Bu aşamada "#AD?" hatası görünebilir. Bunun nedeni, makro işlevini içeren Eklentinin henüz Excel’e genel olarak yüklenmemiş olmasıdır. Makronuzu tüm çalışma kitaplarında etkinleştirmek için aşağıdaki adımları izleyin.
Kaydedilen VBA makrosu uygulanmadan önceki #AD? hatasını gösteren bir ekran görüntüsü

8. Geliştirici sekmesine gidin ve Eklentiler grubundaki Excel Eklentileri düğmesine tıklayın.
Excel'de Geliştirici sekmesi altında Eklentiler seçeneğini gösteren bir ekran görüntüsü

9. Görünen Eklentiler iletişim kutusunda Gözat seçeneğini seçin.
Excel'de Eklentiler iletişim kutusunun bir ekran görüntüsü

10. Daha önce kaydettiğiniz eklenti dosyasını bulun ve seçin, ardından Tamam düğmesine tıklayın.
Excel'de özel bir eklenti dosyasının seçimini gösteren bir ekran görüntüsü

11. "Sayıyı Sözcüklere Dönüştür Eklentisi" gibi özel eklentiniz artık Eklentiler listesinde görünecektir. İşaretli olduğundan emin olun ve etkinleştirmek için Tamam düğmesine tıklayın.
Excel'de Eklentiler iletişim kutusunda özel eklentiyi gösteren bir ekran görüntüsü

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

=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.

Sayıların yazıya dönüştürüldüğü sonucu gösteren bir ekran görüntüsü

İpuçları ve Notlar:

  • Makronuzu bir eklenti olarak kaydetmek, özel işlevlerinizi, kodunuzu ve otomasyonlarınızı tüm çalışma kitaplarınızda kullanmanıza, zamandan tasarruf etmenize ve tutarlılığı artırmanıza olanak tanır.
  • Excel kapatıldığında veya eklenti daha sonra devre dışı bırakıldığında, eklentiden gelen işlevler eklenti tekrar yüklene kadar geçici olarak "#AD?" hatası gösterebilir. Karışıklığı önlemek için eklentinin gerektiğinde her zaman Eklentiler Yöneticisi’nde etkin olduğundan emin olun.
  • Bazı kullanıcılar Geliştirici sekmesini varsayılan olarak göremez. Etkinleştirmek için Şerit’e sağ tıklayıp “Şeridi Özelleştir” seçeneğini seçin ve “Geliştirici” kutusunu işaretleyin.
  • Başvuruların dosyalar taşındığında veya yeniden adlandırıldığında kaybolmasını önlemek için eklentileri kalıcı bir klasörde saklamak en iyi uygulamadır.

Kodu manuel çalıştırmayı tercih ediyorsanız, bu da mümkündür ve hata ayıklama sırasında veya anlık kullanım için bazen faydalıdır:

  1. Herhangi bir görünür çalışma kitabında tek tıklamayla makroyu çalıştırmak için onu Hızlı Erişim Araç Çubuğuna atayabilirsiniz. Bunun için Hızlı Erişim Araç Çubuğuna sağ tıklayın, “Hızlı Erişim Araç Çubuğunu Özelleştir” seçeneğini belirleyin ve ardından makronuzu ekleyin.
    VBA makrosunu Hızlı Erişim Araç Çubuğuna nasıl ekleneceğini gösteren bir ekran görüntüsü
  2. Ayrıca, VBA düzenleyicisini açmak için Alt + F11 tuşlarına basın, makronuzu manuel olarak seçin ve kodu gerektiği gibi çalıştırmak için F5 tuşuna basın.

Avantajlar: Bu çözüm, eklenti etkin olduğu sürece her zaman çalışan, zengin ve yeniden kullanılabilir makro işlevselliği oluşturmanızı ve paylaşmanızı sağlar.
Dezavantajlar: Kullanıcıların eklentiyi yüklemeyi hatırlaması gerekir; ayrıca çalışma kitaplarınızı paylaşıyorsanız, eklenti dosyasını ve işlev ayrıntılarını da paylaşmalısınız. Unutmayın: Eklentiler Excel Çevrimiçi’de çalışmaz.


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

En sevdiğiniz veya en çok kullandığınız makroların, hangi çalışma kitabının açık olduğuna bakılmaksızın her Excel oturumunda hazır olmasını sağlamak için son derece pratik bir başka yol da Kişisel Makro Çalışma Kitabını (PERSONAL.XLSB) kullanmaktır. Bu, Excel her başlatıldığında otomatik olarak yüklenen özel bir gizli dosyadır ve içinde saklanan tüm makrolara her açık çalışma kitabından erişmenizi sağlar.

Uygulanabilir senaryolar: Resmi Excel eklentileri olarak paylaşmanız gerekmeyen kişisel otomasyonlar, rutin biçimlendirme betikleri veya yardımcı program işlevleri için mükemmeldir. PERSONAL.XLSB dosyanızdaki makrolar, hangi dosya açık olursa olsun bilgisayarınızda her zaman hazırdır.

Avantajlar: Makrolar, yerel Excel profilinizde genel olarak kullanılabilir ve eklenti veya ek dosya yüklenmesini gerektirmez.
Dezavantajlar: Bu şekilde saklanan makrolar yalnızca PERSONAL.XLSB dosyasının bulunduğu bilgisayarda ve kullanıcı hesabında çalışır. Başkalarıyla paylaşmak için modülleri manuel olarak dışa ve içe aktarmanız gerekir.

  • Bu yöntemi kullanmak için öncelikle bir makro kaydetmeniz veya oluşturmanız ve bunun Kişisel Makro Çalışma Kitabınızda saklandığından emin olmanız gerekir.

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

  1. Excel'i açın. Görünüm sekmesinde, Makrolar seçeneğine tıklayın ve ardından Makro Kaydet seçeneğine tıklayın.
  2. İletişim kutusundaki "Makroyu şuraya kaydet" bölümünden Kişisel Makro Çalışma Kitabı seçeneğini seçin. Kaydı tamamlayın (gerekmiyorsa hemen durdurabilirsiniz).
  3. VBA düzenleyicisine girmek için Alt + F11 tuşlarına basın; PERSONAL.XLSB dosyası için bir proje göreceksiniz. Buraya yeni bir modül ekleyebilir veya istediğiniz makro kodunu yapıştırabilirsiniz.
  4. Değişikliklerinizi kaydedin. Excel, PERSONAL.XLSB çalışma kitabını başlangıç klasöründe otomatik olarak oluşturur ve yönetir.
  5. PERSONAL.XLSB içindeki makrolar, Makrolariletişim kutusu ()Alt + F8) üzerinden çalıştırılabilir, Şerit veya araç çubuğu düğmelerine atanabilir ya da VBA'dan çağrılabilir.

Sorun Giderme ve Bakım: PERSONAL.XLSB dosyasındaki makrolar çalışmıyorsa, Excel’in Güvenli Mod’da açılıp açılmadığını veya makro güvenlik ayarlarının “Tüm makroları devre dışı bırak” olarak yapılandırılıp yapılandırılmadığını kontrol edin. Ayrıca PERSONAL.XLSB varsayılan olarak gizlidir; yanlışlıkla kaydetmeden kapatır ya da silerseniz, yeniden oluşturmak için bir makroyu tekrar kaydetmeniz gerekebilir.

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

Diğer İşlemler (Makaleler)

Excel'de Tüm Eklentileri Listeleyen Bir VBA Kodu
Excel'de verilerle daha verimli çalışmak için çeşitli eklentiler ekleyebilirsiniz. Bildiğiniz gibi, tüm eklentileri görüntülemek için Seçenekler penceresini kullanabilirsiniz—peki ya tüm eklentileri tek bir sayfada listeleyen bir yöntem var mı? İşte bu öğreticide, Excel'de yüklü tüm eklentileri anında listeleyen bir VBA kodunu sizinle paylaşıyoruz!

Ç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 ya da kapattığınızda VBA kodunun nasıl çalıştırılacağını adım adım anlatacağım.

Excel'de VBA Kodunu Nasıl Koruyabilir / Kilitleyebilirim?
Çalışma kitaplarınızı ve çalışma sayfalarınızı parola ile koruyabildiğiniz gibi, Excel'deki makroları da parola ile koruyabilirsiniz.

Excel'de Bir VBA Makrosu Çalıştırdıktan Sonra Zaman Gecikmesi Nasıl Uygulanır?
Bazı durumlarda, Excel’de bir VBA makrosunu tetiklerken zaman gecikmesine ihtiyacınız olabilir. Örneğin, belirli bir makroyu çalıştırmak için tıkladığınızda, işlemin 10 saniye sonra gerçekleşmesini sağlayabilirsiniz. Bu makalede, bunu nasıl yapabileceğiniz adım adım açıklanmaktadır.

En İyi Office Üretkenlik Araçları

🤖KUTOOLS AI Yardımcısı: Şunu temel alarak Veri Analizi’yi devrimleştirin:Akıllı Yürütme   |  Kod Oluştur|  özel formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur|  Geliştirilmiş İşlevler Çağır…
Popüler Özellikler:Bul, Vurgula veya Yinelenenleri İşaretle   |  Boş Satırları Sil   |  Veri Kaybetmeden Sütunları Birleştir veya Hücreleri   |   Formül kullanmadan yuvarlama…
Süper ARA:Çoklu Kriterli Düşeyara (VLookup)  |  Çoklu Değerli Düşeyara (VLookup)  |   Birden Fazla Sayfada Düşeyara (VLookup)   |   Bulanık Eşleme…
Gelişmiş Açılır Liste:Açılır Liste Hızlıca 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 Aç/Kapat|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ı ve Sayfa Yöneticisi   |  Kaynaklar(Otomatik Metin)|  Tarih Seçici   |  Çalışma Sayfalarını Birleştir  |  Şifrele/Hücreleri Şifre Çöz   | Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre(Kalın Yazılı Hücreleri Filtrele/italik/üstü çizili…) …
En İyi 15 Araç Setleri:12 MetinAraçları(Metin Ekle,Belirli Karakterleri Sil, …)|   50+GrafikTürleri(Gantt Grafiği, …)|   40+ Pratik Formüller(Doğum tarihine dayanarak yaş hesapla, …)|   19 EklemeAraçları(QR Kodu Ekle,Yoldan Resim Ekle, …)|   12 DönüştürmeAraçları(Kelimeye Dönüştür,Döviz Kuru Dönüşümü, …)|   7 Birleştir ve AyırAraçları(Gelişmiş Satırları Birleştir,Hücreleri Böl, …)|… ve daha fazlası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40+ diğer dil desteğiyle!

Kutools for Excel ile Excel becerilerinizi üst düzeye taşıyın ve verimlilikten önce hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…


Office Tab, Office uygulamalarına sekmeli arayüz getirir ve işlerinizi çok daha kolay hale getirir

  • Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Birden fazla belgeyi yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açın ve oluşturun.
  • Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!

Tüm Kutools eklentileri — tek bir kurulum dosyasında!

Kutools for Office paketi; Excel, Word, Outlook ve PowerPoint için eklentileriyle birlikte Office Tab Pro’yu da içerir ve Office uygulamalarında çalışan ekipler için idealdir.

ExcelWordOutlookTabsPowerPoint
  • Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
  • Birlikte daha iyi çalışır— Office uygulamaları arasında akıcı üretkenlik
  • 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
  • En iyi fiyat-performans— tek tek eklenti satın almak yerine tasarruf edin