• DİKKAT

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

Dosya Boyutu Çok Fazla

  • Konbuyu başlatan Konbuyu başlatan 3641
  • Başlangıç tarihi Başlangıç tarihi

3641

Altın Üye
Katılım
22 Mayıs 2006
Mesajlar
134
Excel Web Tr Yardımları ile yapmış olduğum Teklif Hazırla Dosyam
Ciddi Anlamda Ağırlaştı.

Dosyanın İçerisinde
Malzeme Ve Fiyatların Bulunduğu Sayfa 3700 Satırdan Oluşuyor.
Firmaların Bulunduğu Sayfa 2500 Satırdan Oluşuyor.
Yine Aynı Kitapta m² Hesabını Yapıp Firmaların Cari Bilgilerini Teklife Çekiyorum.

Teklif Hazırla Çift Tık İle Çalışıyor.
Malzeme Üstüne Çift Tık----- Teklif Sayfasına Taşınıyor
Firma Üstüne Çift Tık---------Teklif Sayfasında İlgili Sütünlara Ödeme Şartları Ödeme Biçimi ve İSK Taşınıyor.

Cari Bilgi Sayfasında Firma Adına Çift Tık Teklif Sayfasında İlgili satıra Bakiye Durumu Taşınıyor.

Benim için muhteşem bir program.
Programa yine Ip Siteden Öğrendiğim İle Ip Koruma ve Tarih Korması Ekledim.

Print Al Butonu
E-mail Gönder Butonu.
Çoklu Teklifler İçin İcmal Sayfası Gibi Eklemeler Yaptım.

Sıkıntım tamda burada oluşuyor.
Teklif Ver O Kadar büyüdü o kadar hantallaştıki artık teklif yazmak işkence haline geldi.

Sizlerden ricam kalıbı bozmadan nasıl bir yöntem kullanmalıyımki dosya boyutu azalıp daha hızlı işlem yapabileyim.

Saygılarımla,
 
Dosyanızı eklerseniz daha sağlıklı yardım etme imkanımız olabilir.
 
Merhaba,
Eğer büyük datalarla uğraşıyorsanız (öyle görünüyor) ve formüller çok ise, dosyada her değişiklik yapıldığında excel otomatik olarak hesaplayacaktır. Bu da excelin yavaşlamasına neden olur. Hesaplamayı otomatikten çıkartıp el ile hesaplamayı seçebilirsiniz. (İstediğiniz zaman F9 ile hesaplamayı yapabilirsiniz.)
Formül yerine mümkün ise makro kullanın bu yavaşlamayı önemli ölçüde azaltır.
Kullanmadığınız satırlardaki formülleri silin. Gerektikçe çoğaltın. Veri girilmemiş satırlardaki formüller yavaşlama nedenidir.
Biçimlendirmeler dosya boyutunu büyüterek yavaşlamaya neden olur. Tüm satırı veya sütunu biçimlendirmek yerine kullanacağınız alanı biçimlendirin.Mümkünse biçimlendirme kullanmayın veya en aza indirin.
Ctrl+End tuşarına her sayfada basarak sayfa sonlarına bir bakın. İstemeyerekte olsa herhangi bir sayfada uzak bir hücre kullanılmışsa dosya büyümesine neden olabilir.
Ayrıca bilgisayarınızda yüklü yazıcı sürücüleri ile Excel'e yüklenmiş olan çeşitli eklentiler de bu yavaşlamalara neden olabilir. "Excel /safe " ile excel'i çalıştırıp dosyayı açtığınızda bu yavaşlama ortadan kalkıyorsa eklentilerden şüphelenebilirsiniz.
Bunlar yeterli olmazsa;Dosyanızda yapısal bir bozukluk olabilir. Yeni bir dosya oluşturun ve sayfalardaki çalışma alanlarınızı kopyalayarak yeni dosyaya yapıştırın.
Bütün bunlardan sonra da yavaşlama varsa ya dosyanız gerçekten çok büyüktür ya da bilgisayarınızın donanımı (işlemci, bellek vb. gibi) sorunlu olabilir.
Disk birleştirme (defrag) yararlı olabilir.
Spam veya virüs olabilir.

Kolay gelsin.
 
Sayın dEdE
Dosya Boyutu 4,96 Mb
Yukarıda Saydığım Tüm İşlemler Makro İle Yapııyor.
ESET Nod 32 Lisanslı Etkin Koruma Açık
Bilgisayar Sıfır ACER ASPIRA 6930 G 4gb Ram

Yukarıda saydığım özellikler içerisinde Excel'in çok fazla işlem yapıyor olması en mantıklısı gibi geliyor.

Kitaptaki İşlem Yapılan Sayfaları Ayırım ADO ile Yine Yukarıdaki mesajımda sıralamış olduğum işlemleri yaptırım Teklif_ver.xls sayfasında toplasam Sayfanın boyutunu küçülttüğüm için hızlandırabilirmiyim acaba.
 
Selamlar,

Verdiğiniz bilgiler doğrultusunda dosyanızın boyutu aslında çok fazla değil. Belkide makro ile yapmış olduğunuz işlemlerde yanlış yöntemler kullanmış olabilirsiniz. Kullandığınız kodları foruma eklerseniz kontrol etme şansı bulabiliriz.
 
Aslında verilen bilgiler doğrultusunda bakıldığında dosya boyutu değil ama excel sheetleri içerisindeki satır ve sütunlarda anladığım kadarıyla oldukça fazla işlem var. Yani her kapanış ve açılışta formülleri yeniden hesaplayan excel haliyle belirli ölçülerde yavaşlamaya uğrayacaktır.
Ama arkadaşımın bahsettiği Teklif Ver bölümünde meydana gelen hantallaşma büyük ihtimalle Korhan Ayhan arkadaşımın da dediği gibi makrolarla ilgili gereksizliklerden kaynaklanıyor olabilir.
 
Ben de bu konuda müzdaribim. Yeni konu açmayarak buradan sormak istedim.

Henüz daha faaliyete geçmemiş bir program üzerinde çalışıyorum. Çalışmamda 9 adet sayfa, 9 adet userform ve 2 adet modül bulunmakta. Henüz daha programı kullanmaya başlamama rağmen dosyanın boyutu 6 mb'ta dayandı. Haliyle biraz da yavaş çalışıyor. Acaba kullandığım userformlar mı dosyamı şişiriyor diye test edeyim dedim. Her userform'u çalışmamdan export edip dosya boyutlarına baktım. Gayet makul boyutlardaydı. (40-50 KB)

Belirtmiş olduğum o 9 sayfada da hepitopu 40-50 satır veri vardır. En fazla veri içeren çalışma sayfasını da export edip boyutunu kontrol ettim o da makul değerdeydi.

Dosyamı eklemek isterdim ama bir kamu kuruluşuna ait bilgiler içerdiğinden ne yazıkki dosyamı ekleyemiyorum.

Acaba dosyam neden bu hale gelmiş olabilir? Dosya boyutumu minimize etmek için kodlarda nasıl bir revizyona gitmem gerekir?

Saygılar.
 
Dosya büyümesinin çok sebepleri vardır.
Bunlardan bazılarını ortadan kaldırmak için,
Aşağıdaki kodu bir modüle yapıştırıp deneyiniz.
Kolay gelsin iyi çalışmalar.

Kod:
Sub ExcelDiet()
     
    Dim j               As Long
    Dim k               As Long
    Dim LastRow         As Long
    Dim LastCol         As Long
    Dim ColFormula      As Range
    Dim RowFormula      As Range
    Dim ColValue        As Range
    Dim RowValue        As Range
    Dim Shp             As Shape
    Dim ws              As Worksheet
     
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
     
    On Error Resume Next
     
    For Each ws In Worksheets
        With ws
             'Find the last used cell with a formula and value
             'Search by Columns and Rows
            On Error Resume Next
            Set ColFormula = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)
            Set ColValue = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, _
            LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)
            Set RowFormula = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
            Set RowValue = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
            On Error GoTo 0
             
             'Determine the last column
            If ColFormula Is Nothing Then
                LastCol = 0
            Else
                LastCol = ColFormula.Column
            End If
            If Not ColValue Is Nothing Then
                LastCol = Application.WorksheetFunction.Max(LastCol, ColValue.Column)
            End If
             
             'Determine the last row
            If RowFormula Is Nothing Then
                LastRow = 0
            Else
                LastRow = RowFormula.Row
            End If
            If Not RowValue Is Nothing Then
                LastRow = Application.WorksheetFunction.Max(LastRow, RowValue.Row)
            End If
             
             'Determine if any shapes are beyond the last row and last column
            For Each Shp In .Shapes
                j = 0
                k = 0
                On Error Resume Next
                j = Shp.TopLeftCell.Row
                k = Shp.TopLeftCell.Column
                On Error GoTo 0
                If j > 0 And k > 0 Then
                    Do Until .Cells(j, k).Top > Shp.Top + Shp.Height
                        j = j + 1
                    Loop
                    If j > LastRow Then
                        LastRow = j
                    End If
                    Do Until .Cells(j, k).Left > Shp.Left + Shp.Width
                        k = k + 1
                    Loop
                    If k > LastCol Then
                        LastCol = k
                    End If
                End If
            Next
             
            .Range(Cells(1, LastCol + 1).Address & ":IV65536").Delete
            .Range(Cells(LastRow + 1, 1).Address & ":IV65536").Delete
        End With
    Next
     
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
     
End Sub
 
Dosya büyümesinin çok sebepleri vardır.
Bunlardan bazılarını ortadan kaldırmak için,
Aşağıdaki kodu bir modüle yapıştırıp deneyiniz.
Kolay gelsin iyi çalışmalar.

İlginiz için teşekkür ederim. Dediğinizi uyguladım ama dosyanın boyutu biraz daha arttı. :tongue:
 
Sorun benimle alakalıymış. Kullanmayacağım satırları doldurmuşum. Manuel sıra numarası vermişim excelin son satırına kadar. Bu sebepten dolayı dosyam şişmiş. Bu artıkları temizleyip, sıra numarası verme işini makroyla halledince dosyam, 6 mb'dan 700 KB'ta düştü. :)
 
Geri
Üst