• DİKKAT

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

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:
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
 
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.
 
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
 
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.
 
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.
 
Geri
Üst