Makronun Hızlanması Hk.

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba arkadaşlar

Üzerinde çalıştığım dosyayı kapatırken yapılan değişiklikleri kaydediyor ama kaydetme işlemi 15 20 saniye sürüyor. bunu nasıl hızlandırabilirim.
Dosyanın bazı yerlerinden de işlem yaparken de kaydetmesi gerekiyor. Mesela her bir personelin ders ücretini kaydederken çalışma kitabını da kaydetme kodu var. Bilgisayarın kilitlenmesi, elektrik kesilmesi vb. den dolayı dosya kapanırsa girilen bilgiler kaybolmasın diye.

Aşağıdaki kodlarda kırmızı olan kodları buldum ama "Sub or function not defined" hatası veriyor. Bu konuda yardımcı olursanız sevinirim.

cevap = MsgBox("Programı Kapatacak mısınız...?", vbQuestion + vbYesNoCancel, "Kapat")
If cevap = vbYes Then
TurnOnSpeed True
ThisWorkbook.Save
TurnOnSpeed False
Application.Quit
Else
Exit Sub
End If
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba arkadaşlar

Üzerinde çalıştığım dosyayı kapatırken yapılan değişiklikleri kaydediyor ama kaydetme işlemi 15 20 saniye sürüyor. bunu nasıl hızlandırabilirim.
Dosyanın bazı yerlerinden de işlem yaparken de kaydetmesi gerekiyor. Mesela her bir personelin ders ücretini kaydederken çalışma kitabını da kaydetme kodu var. Bilgisayarın kilitlenmesi, elektrik kesilmesi vb. den dolayı dosya kapanırsa girilen bilgiler kaybolmasın diye.

Aşağıdaki kodlarda kırmızı olan kodları buldum ama "Sub or function not defined" hatası veriyor. Bu konuda yardımcı olursanız sevinirim.

cevap = MsgBox("Programı Kapatacak mısınız...?", vbQuestion + vbYesNoCancel, "Kapat")
If cevap = vbYes Then
TurnOnSpeed True
ThisWorkbook.Save
TurnOnSpeed False
Application.Quit
Else
Exit Sub
End If
TurnOnSpeed prosedürünü tanımlamanız gerekiyor.
içeriği nedir bunun?

Kod:
TurnOnSpeed True
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
TurnOnSpeed prosedürünü tanımlamanız gerekiyor.
içeriği nedir bunun?

Kod:
TurnOnSpeed True
Bende bu forumdan buldum. Ekte eklediği resimdeki gibi

TurnOnSpeed True
Sizin kodlarınız
TurnOnSpeed False
 

Ekli dosyalar

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,049
Excel Vers. ve Dili
Office 2013 İngilizce
Bu fonksiyonu dosyanıza eklediniz mi?

Kod:
Public Function TurnOnSpeed(x As Boolean)

    If x = True Then
    With Application
        PriorCalcMode = Application.Calculation
            .ScreenUpdating = False
            .DisplayAlerts = False
            .EnableEvents = False
            .Cursor = xlWait
            .Calculation = xlCalculationManual
    End With
    
    ElseIf x = False Then
    
    With Application
            .ScreenUpdating = True
            .DisplayAlerts = True
            .EnableEvents = True
            .StatusBar = False
            .Cursor = xlDefault
        .Calculation = PriorCalcMode
        End With
    End If

End Function
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Bu fonksiyonu dosyanıza eklediniz mi?

Kod:
Public Function TurnOnSpeed(x As Boolean)

    If x = True Then
    With Application
        PriorCalcMode = Application.Calculation
            .ScreenUpdating = False
            .DisplayAlerts = False
            .EnableEvents = False
            .Cursor = xlWait
            .Calculation = xlCalculationManual
    End With
   
    ElseIf x = False Then
   
    With Application
            .ScreenUpdating = True
            .DisplayAlerts = True
            .EnableEvents = True
            .StatusBar = False
            .Cursor = xlDefault
        .Calculation = PriorCalcMode
        End With
    End If

End Function
Hayır eklemedim.

Yukarıdaki kodları bir yere eklemek mi gerekiyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bahsi geçen prosedürü boş bir modüle ekleyip deneyebilirsiniz.
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Merhaba; Dosyalarınızın daha hızlı kaydetmesini istiyorsanız. excel ikili çalışma kitabı xlsb uzantılı olarak kullanmayı denemelisiniz.
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba; Dosyalarınızın daha hızlı kaydetmesini istiyorsanız. excel ikili çalışma kitabı xlsb uzantılı olarak kullanmayı denemelisiniz.
Merhaba N.Ziya Hiçdurmaz farklı bie excel sürümümü kullanmalıyım veya dosyayı xlsb uzantılı olarak farklı mı kaydetmeliyim.
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba N.Ziya Hiçdurmaz farklı bie excel sürümümü kullanmalıyım veya dosyayı xlsb uzantılı olarak farklı mı kaydetmeliyim.
Teşekkürler Sayın N. Ziya Hiçdurmaz bayağı hızlandı.
 
Üst