• DİKKAT

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

Soru Diğer çalışma kitaplarındaki makroları çalıştırma

  • Konbuyu başlatan Konbuyu başlatan G.Bale
  • Başlangıç tarihi Başlangıç tarihi
Katılım
8 Nisan 2015
Mesajlar
59
Excel Vers. ve Dili
2010 Türkçe
Merhaba,
Birkaç excel dosyasında bulunan makro1 makrosunu farklı bir çalışma kitabındaki butona basarak tek seferde tüm dosyalara uygulamasını amaçlıyorum.
1. sayfada sadece buton var. 2. sayfada ise 3.satırdan başlayarak dosya isimleri yazıyor.

Yazmayı denediğim kod:
Kod:
Sub topluislem()
Dim sonsatir As Long
sonsatir = Sayfa2.Cells(Rows.Count, 1).End(xlUp).Row + 2
For tls = 3 To sonsatir
Sayfa1.Cells(1, 1).Value = Sayfa2.Cells(tls, 1).Value
dosyaadi = Sayfa1.Cells(1, 1).Value
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & dosyaadi & ".xlsm"
Application.Run dosyaadi & ".xlsm!makro1"   'hata alınan satır burası
Workbooks(dosyaadi).Save
Workbooks(dosyaadi).Close
Next tls
    MsgBox ("İşlem tamam!")
End Sub

Aldığım hata mesajı:
Run-time Error 1004


'Elma.xlsm!makro1' makrosu çalıştırılamıyor. Makro bu çalışma kitabında olmayabilir veya tüm makrolar devre dışı bırakılmış olabilir.
 
Merhaba.
Denemiş değilim ama fikrimi belirteyim.
Sonradan açılan belgedeki makronun konumu (hangi modulde olduğu bilgisi)
belirtilmemiş oluyor sanki, bence hatanın nedeni bu.
.
 
Merhaba.
Denemiş değilim ama fikrimi belirteyim.
Sonradan açılan belgedeki makronun konumu (hangi modulde olduğu bilgisi)
belirtilmemiş oluyor sanki, bence hatanın nedeni bu.
.
Öncelikle yorumunuza teşekkür ederim, hangi modülde olduğu bilgisini ve bunu nasıl koda aktarabileceğimi bilemedim. Bu konuda yardımcı olma şansınız varsa çok sevinirim.

Saygılar...
 
Teşekkür ederim tekrardan, inceleyip sonuçla alakalı geri dönüş yapacağım.
 
Bunca zamandır uğraşıp hata aldığım şey iki tırnak işaretinden çalışmıyormuş :)
Herşeyi denedim bir sonuç alamadım, az önce koda tırnak işaretlerini ekledim ve artık çalışıyor.
Sonradan bakıp faydalananlar olabilir diye doğrusunu yazıyorum.

Kod:
Sub topluislem()
Dim sonsatir As Long
sonsatir = Sayfa2.Cells(Rows.Count, 1).End(xlUp).Row + 2
For tls = 3 To sonsatir
Sayfa1.Cells(1, 1).Value = Sayfa2.Cells(tls, 1).Value
dosyaadi = Sayfa1.Cells(1, 1).Value
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & dosyaadi & ".xlsm"
Application.Run "'" & dosyaadi & ".xlsm'!makro1"
Workbooks(dosyaadi).Save
Workbooks(dosyaadi).Close
Next tls
    MsgBox ("İşlem tamam!")
End Sub
 
Geri
Üst