Soru ACİL ...MAKROLU ÇALIŞMA KİTABI ÇOK YAVAŞ AÇILIYOR.

Katılım
14 Nisan 2010
Mesajlar
4
Excel Vers. ve Dili
ankara
merhaba,
Makrolu çalışma sayfasını açtığımda çok yavaş çalışıyor.Hızlandırmak için ne yapmam gerekiyor, yada nerede yanlış yapıyorum.
Yardımcı olursanız sevinirim.Dosyam aşağıdaki linkte mevcuttur.

https://www.dosyaupload.com/esOI
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,741
Excel Vers. ve Dili
2021 Türkçe
Module1 de bulunan "sutunlariteksatira" prosedürü altında bulunan aşağıdaki kodlar hep aynı hücreye farklı hücrelerdeki verileri yazıyor.

sutun sayısı 347 satır sayısı 30 olduğundan 347 X 30 = büyük bir sayı hep aynı işlemi yapıyor.
Sorun buradan kaynaklanıyor.
Burada aslında ne yapmak istediğinizi söylerseniz kodda düzenleme yapabilirim.

Kod:
        For i = 2 To sonsutun
            For x = 2 To sonsatir
                .Range("A" & Rows.Count).End(3)(2, 1).Value = .Cells(x, i).Value
            Next x
        Next i
 
Katılım
14 Nisan 2010
Mesajlar
4
Excel Vers. ve Dili
ankara
Module1 de bulunan "sutunlariteksatira" prosedürü altında bulunan aşağıdaki kodlar hep aynı hücreye farklı hücrelerdeki verileri yazıyor.

sutun sayısı 347 satır sayısı 30 olduğundan 347 X 30 = büyük bir sayı hep aynı işlemi yapıyor.
Sorun buradan kaynaklanıyor.
Burada aslında ne yapmak istediğinizi söylerseniz kodda düzenleme yapabilirim.

Kod:
        For i = 2 To sonsutun
            For x = 2 To sonsatir
                .Range("A" & Rows.Count).End(3)(2, 1).Value = .Cells(x, i).Value
            Next x
        Next i

Yapmak istediğim NOTLARHEPSİ sayfasındaki B3, NM30 aralığını tarayıp dolu olan hücreleri alt alta A2 hücresinden aşağıya doğru yazması. (AMA A SÜTÜNUNDAKİLER ALT ALTA ,B SÜTUNUNDAKİLER ALT ALTA GELECEK ŞEKİLDE)

ŞİMDİDEN TEŞEKKÜR EDERİM.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,741
Excel Vers. ve Dili
2021 Türkçe
Dosyanızın neden yavaş çalıştığını sormuştunuz. Açılışta işte bu işlem yapıldığı için dosyanın açılması çok uzun sürüyor.

Module1 deki kodlarınız gereksiz uzun yazılmış.
Module1 deki kodların tamamını silin aşağıdakileri kopyalayın.

Kod:
Sub sutunlariteksatira()
    Worksheets("TARİHLER").Unprotect
    With Sheets("NOTLARHEPSİ")
        .Unprotect
        .Columns("A:A").ClearContents
        sonsatir = .Range("B65536").End(3).row
        sonsutun = .Range("NM2").End(xlToLeft).Column
        For i = 2 To sonsutun
            For x = 2 To sonsatir
                .Range("A" & Rows.Count).End(3)(2, 1).Value = .Cells(x, i).Value
            Next x
        Next i
        Call notlarıyapıştır
        Sheets("NOTLARHEPSİ").Protect
    End With
    Sheets("TARİHLER").Protect
End Sub

Sub notlarıyapıştır()
    Sheets("ANASAYFA").Unprotect
    Sheets("NOTLARHEPSİ").Range("A2:A520").Copy
    Sheets("ANASAYFA").Range("F2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("ANASAYFA").Protect
End Sub
 
Katılım
14 Nisan 2010
Mesajlar
4
Excel Vers. ve Dili
ankara
Dosyanızın neden yavaş çalıştığını sormuştunuz. Açılışta işte bu işlem yapıldığı için dosyanın açılması çok uzun sürüyor.

Module1 deki kodlarınız gereksiz uzun yazılmış.
Module1 deki kodların tamamını silin aşağıdakileri kopyalayın.

Kod:
Sub sutunlariteksatira()
    Worksheets("TARİHLER").Unprotect
    With Sheets("NOTLARHEPSİ")
        .Unprotect
        .Columns("A:A").ClearContents
        sonsatir = .Range("B65536").End(3).row
        sonsutun = .Range("NM2").End(xlToLeft).Column
        For i = 2 To sonsutun
            For x = 2 To sonsatir
                .Range("A" & Rows.Count).End(3)(2, 1).Value = .Cells(x, i).Value
            Next x
        Next i
        Call notlarıyapıştır
        Sheets("NOTLARHEPSİ").Protect
    End With
    Sheets("TARİHLER").Protect
End Sub

Sub notlarıyapıştır()
    Sheets("ANASAYFA").Unprotect
    Sheets("NOTLARHEPSİ").Range("A2:A520").Copy
    Sheets("ANASAYFA").Range("F2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("ANASAYFA").Protect
End Sub

UĞRAŞTIĞINIZ İÇİN ÇOK TEŞEKKÜR EDERİM AMA YİNE ÇOK YAVAŞ AÇILIYOR.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,741
Excel Vers. ve Dili
2021 Türkçe
Yavaş açılması ile ilgili bir şey yapmak mümkün değil.
Yukarıda da dediğim gibi 347 X 30 = büyük değerde bir döngü var bu sebeple dosyanız yavaş açılıyor.
 
Üst