• DİKKAT

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

Açılışta Otomatik Makro Çalıştırmak

Katılım
17 Ağustos 2006
Mesajlar
106
Arkadaşlar hazırladığım basit bir makro var. Bu makronun açtığım tüm excel dosyalarında otomatik olarak çalışmasını istiyorum.
Ya da Makroyu çalıştırdığımda açık olan tüm excel dosyalarına da uygulanmasını nasıl sağlayabilirim.
 
Merhaba Sn gohanx21

Özrümü kabul edin, Başlığınızla mesajınız birbirinden farklı olaylar.

Eğer Açılışta makronun otomatik çalışmasını istiyorsanız makronuzu;

Sub Auto_Open()
.....
End Sub
arasına yazmalısınız.

Hazırladığınız bir Makronun tüm Excel çalışmalarında da çalışmasını istiyorsanız;

Makronuzu nasıl hazırladınız bilmem ama eğer "Makro Kaydet" yöntemini kullanıyorsanız, "Makro Kaydet" denildiğinde "Makronun Saklanacağı Yer" olarak "Kişisel Makro Çalışma Kitabı" nı seçerek kayıt yapıp, Excel uygulamanızı kapatırken alacağınız "Yaptığınız değişiklikleri Kişisel Makro..............." uyarısına "Evet" deyip kapatırsanız, artık o kaydedilmiş Makro, mevcut açık olan ve her açılacak olan Excel Çalışmalarınızda hazır olacaktır.
 
Makro kaydedicisini kullanarak basitçe şu makroyu kaydettim

Kod:
Sub Makro1()
'
' Makro1 Makro
'
' Klavye Kısayolu: Ctrl+j
'
    Cells.Replace What:= _
        "'C:\Documents and Settings\KULLANICI\Application Data\Microsoft\AddIns\Yeni.xla'!" _
        , Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:= _
        False, SearchFormat:=False, ReplaceFormat:=False
End Sub

şimdi bunun dosyayı açtığımda otomatik olarak çalışması için şu şekilde mi yapacam

Kod:
Sub Auto_Open()
'
' Makro1 Makro
'
' Klavye Kısayolu: Ctrl+j
'
    Cells.Replace What:= _
        "'C:\Documents and Settings\KULLANICI\Application Data\Microsoft\AddIns\Yeni.xla'!" _
        , Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:= _
        False, SearchFormat:=False, ReplaceFormat:=False
End Sub
Kusura bakmayın bu makrolarda yeniyim.
 
Merhaba Sn gohanx21


Evet aynen öyle, ancak bunu yazacağınız yer önemli..

Alt+F11 ile VBA penceresini açın, Menuden İnsert > Module seçin,

Açılan pencereye kopyala yapıştır yapabilirsiniz..
 
Ercan bey
Kod:
Sub Auto_Open()
'
' Makro1 Makro
'
' Klavye Kısayolu: Ctrl+j
'
    Cells.Replace What:= _
        "'C:\Documents and Settings\KULLANICI\Application Data\Microsoft\AddIns\Yeni.xla'!" _
        , Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:= _
        False, SearchFormat:=False, ReplaceFormat:=False
End Sub

Bu şekilde girdim. Ancak Excel dosyasını açtığımda

Run-time error'1004':
Method 'Cells' of object '_Global' failed

diye hata mesajı veriyor.
 
Dosyanıza baktım.

Fark şurda :
Makronuz:
Kod:
Sub Auto_Open()
'
' Makro1 Makro
'
' Klavye Kısayolu: Ctrl+j
'
    Cells.Replace What:= _
        "[B]'C:\Documents and Settings\[COLOR=red]KULLANICI[/COLOR]\Application Data\Microsoft\AddIns\Yeni.xla'!"[/B] _
        , Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:= _
        False, SearchFormat:=False, ReplaceFormat:=False
End Sub


Oysa dosyanızda bu şekilde...
'C:\Documents and Settings\Komisyon.KOMISYON2\Application Data\Microsoft\AddIns\Yeni.xla'!
 
Son düzenleme:
açılışta aşağıdaki makroyu çalıştırmak istiyorum ama refresh yaptıktan sonra gerisini çalıştırmıyor. kalan makroyu başka yeni makro olarak deniyorum çalışıyor. yardımınızı rica ederim.

Sub Auto_Open()
'TCMB den kurları alan makro
ActiveWorkbook.RefreshAll

'kur sayfasında hatalı değeri düzelten makro
Range("F6").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]>=10000,RC[-1]/10000,IF(RC[-1]>=1000,RC[-1]/1000,IF(RC[-1]>=100,RC[-1]/100,IF(RC[-1]>=10,RC[-1]/10,IF(RC[-1]<10,RC[-1])))))"
Selection.AutoFill Destination:=Range("F6:F23"), Type:=xlFillDefault
Range("F6:F23").Select
Selection.Copy
Range("E6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
 
Geri
Üst