• DİKKAT

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

Cok Uzun Suren Macrolari Hizlandirma

Katılım
21 Ekim 2008
Mesajlar
2,323
Excel Vers. ve Dili
Office 2013 - Eng
Arkadaslar bu sizdede olurmu bilmiyorum ama ben bir macroyu calistirdigimda mouse scroll`unu dondurursem macro cok hizli calisiyor sizde denermisiniz lutfen..
 
Selamlar,

Mustafa bey şimdi 10 x 65536 alana "DENEME" yazdırarak denedim. İşlem süresi her iki halde de yaklaşık 43 saniye sürdü. Yani mouse tekerleği işlemi hızlandırmadı.
 
merhaba

alternatif çözüm önerisi.
kod çalıştığında hesaplamayı manuel yapın, kod bittiğinde hesaplamayı otomatik yapın.
 
Suleyman Hocam yazdiginizi anlayamadim, bende inanilmaz bir zaman farki yaratiyor belkide bende normalde ayri bi yavasligi vardir bilemiyorum, bu konuya vakit ayirdiginiz icin tesekkurler..
 
merhaba

aşağıdaki 2 makroyu ayrı ayrı çalıştırarak makro çalışırken geçen süreyi kontrol ediniz.

Kod:
Sub makro_normal_calıs()
    Cells.ClearContents
   'Application.Calculation = xlManual
For i = 1 To 1000
Cells(i, 1) = i
Cells(i, 2) = i ^ 2
Cells(i, 3).FormulaR1C1 = "=RC[-2]*RC[-1]"
Next
    'Application.Calculation = xlAutomatic
End Sub

Kod:
Sub makro_hızlı_calıs()
    Cells.ClearContents
    Application.Calculation = xlManual
For i = 1 To 1000
Cells(i, 1) = i
Cells(i, 2) = i ^ 2
Cells(i, 3).FormulaR1C1 = "=RC[-2]*RC[-1]"
Next
    Application.Calculation = xlAutomatic
End Sub


not:
benim işletim sistemim win7 ve son zamanlarda excelde aşırı yavaşlama oldu.
sanırım bunun sebebi otomatik ofis güncellemeleri olsa gerek. ya da win7 de başka bişeyler oluyor ama nedir bilmiyorum.
xp de 1-2 saniye süren bir makro win7 de 30-35 saniye sürüyor.
Worksheet_SelectionChange veya Worksheet_Change altında çalışan kodlar için inanılmaz bir işkence.
 
haklisiniz Suleyman Bey macronun ilk calismasinda inanilmaz bir zaman farki var, benim excelimde ise macro rakamlari tek tek yavas yavas yaziyorya mouse tekerlegini donduruyorum biraz daha hizli yazmaya basliyor ama sizin orneginizdeki gibi inanilmaz hizli oluyor..

orneginizden sonra konuyu iyiki acmisim dedim bu sekilde yararli bi puf nokta ogrenmis oldum, tesekkurler..
 
Süper hızlı makro

Kod:
Sub makro_hızlı_calıs()
    Cells.ClearContents
    Application.Calculation = xlManual
For i = 1 To 1000
Cells(i, 1) = i
Cells(i, 2) = i ^ 2
Cells(i, 3).FormulaR1C1 = "=RC[-2]*RC[-1]"
Next
    Application.Calculation = xlAutomatic
End Sub

Merhaba,
Hızlı çalıştır kodunun başındaki ve sonundaki kodları hesaplaması 3 dakika süren makroma ekledim ve makrom artık bir kaç saniyede bitiyor. Nasıl akıl edememişim :) süpersiniz. Teşekkürler
 
Arkadaşlar birde bu şekilde deneyip farkı kıyaslayınız.
Kod:
Application.Calculation = xlManual
 
Ustteki orneklerde de yontem ayniydi sanirim.

ise yarayabilecek baska hizlandirici kodlar:


Application.ScreenUpdating=False
Application.EnableEvents = False


ayrica with altindaki fonksiyonlara kod yazarsaniz with icerisinde yaziniz..

Kod:
With Range("A1")
		.Value = 100
		.Font.Bold = False
		.Interior.ColorIndex = 1
		.Copy Destination:=Range("B1")
	End With


="" yerine vbNullString kullanabilirsiniz..

copy paste ayri ayri satirlarda yapilmamali kopyalanacak hucrelere "=" kullanilara atama yapilmali..
 
Geri
Üst