• DİKKAT

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

Excel dosya boyutu

Katılım
30 Nisan 2009
Mesajlar
88
Excel Vers. ve Dili
2010 tr
Merhaba,
Elimde 20-25 sekme bulunan bir dosya mevcut. Dosya boyutu 55 MB civarı. İçinde formüller kullanmış olsamda bu boyutun fazla olduğunu düşünüyorum. Boş hücrelerin biçimlendirilmiş olabileceğini düşünerek bunları düzenledim ancak boyut değişmedi. Bu durumun tespitini nasıl yapabilirim veya sorunu tespit edebilmem için sekmelerin boyutlarını ayrı ayrı görebileceğim bir yol var mı?
 
Aşağıdaki kod ile sayfaların boyutlarını yaklaşık olarak tespit edebilirsiniz.
Kod:
Sub boyut()

For i = 1 To Sheets.Count
    Sheets(i).Copy

    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\dene.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close
DoEvents
MsgBox Sheets(i).Name & " " & FileLen(ThisWorkbook.Path & "\dene.xlsx")
Kill ThisWorkbook.Path & "\dene.xlsx"
Next
End Sub
 
merhaba, makroyu denedim, anladığım kadarıyla sekmelerine ayırıyor. Yarıda hata aldığımdan tamamlamadı. dene.xlsx adında bir dosyada oluşmadı. Tam olarak ne yaptığını anlayamadım.
Açılan popup ekranlardakiler kb cinsinden boyut mu?
 
Alternatif,

Deneyiniz.

Kod:
Option Explicit

Sub Sayfa_Boyutlarını_Listele()
    Dim Sayfa As Worksheet, Yol As String, K1 As Workbook, Satır As Integer, S1 As Worksheet

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    Application.DisplayAlerts = False
    On Error Resume Next
    Sheets("SAYFA_BOYUT_RAPORU").Delete
    On Error GoTo 0
    
    Set S1 = Sheets.Add
    S1.Name = "SAYFA_BOYUT_RAPORU"
    Range("A1:B1") = Array("SAYFA ADI", "BOYUTU")
    Range("A1:B1").Font.Bold = True
    Range("A1:B1").Font.ColorIndex = 3
    Range("A1:B1").HorizontalAlignment = xlCenter
    
    Yol = ThisWorkbook.Path & "\"
    Satır = 2
    
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> S1.Name Then
            Sayfa.Copy
            ActiveWorkbook.SaveAs Yol & "Yedek_Sayfa.xls"
            ActiveWorkbook.Close False
            S1.Cells(Satır, 1) = Sayfa.Name
            S1.Cells(Satır, 2) = FileLen(Yol & "Yedek_Sayfa.xls") / 1048576
            Kill Yol & "Yedek_Sayfa.xls"
            Satır = Satır + 1
        End If
    Next
    
    S1.Range("B2:B" & S1.Rows.Count).NumberFormat = "#,##0.00 ""MB"""
    S1.Cells.EntireColumn.AutoFit
    Set S1 = Nothing
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Korhan Hocamın mAkrosunu kullandım
235041
bu hata nasıl çözülür
 
İlgili sayfa sanırım gizlenmiş durumda.
 
Alternatif,

Deneyiniz.

Kod:
Option Explicit

Sub Sayfa_Boyutlarını_Listele()
    Dim Sayfa As Worksheet, Yol As String, K1 As Workbook, Satır As Integer, S1 As Worksheet

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    Application.DisplayAlerts = False
    On Error Resume Next
    Sheets("SAYFA_BOYUT_RAPORU").Delete
    On Error GoTo 0
   
    Set S1 = Sheets.Add
    S1.Name = "SAYFA_BOYUT_RAPORU"
    Range("A1:B1") = Array("SAYFA ADI", "BOYUTU")
    Range("A1:B1").Font.Bold = True
    Range("A1:B1").Font.ColorIndex = 3
    Range("A1:B1").HorizontalAlignment = xlCenter
   
    Yol = ThisWorkbook.Path & "\"
    Satır = 2
   
    For Each Sayfa In ThisWorkbook.Worksheets
        If Sayfa.Name <> S1.Name Then
            Sayfa.Copy
            ActiveWorkbook.SaveAs Yol & "Yedek_Sayfa.xls"
            ActiveWorkbook.Close False
            S1.Cells(Satır, 1) = Sayfa.Name
            S1.Cells(Satır, 2) = FileLen(Yol & "Yedek_Sayfa.xls") / 1048576
            Kill Yol & "Yedek_Sayfa.xls"
            Satır = Satır + 1
        End If
    Next
   
    S1.Range("B2:B" & S1.Rows.Count).NumberFormat = "#,##0.00 ""MB"""
    S1.Cells.EntireColumn.AutoFit
    Set S1 = Nothing
   
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub

Merhaba benim dosyam xlsm uzantılı ve desktopta, SAYFA_BOYUT_RAPORU diye bir sayfa yarattı ama boş ve ekteki gibi debug hatası verdi.
Teşekkür ederim.
 

Ekli dosyalar

  • debug.png
    debug.png
    71.9 KB · Görüntüleme: 5
Merhaba,
Verdiği hata mesajını da paylaşsanız hatanın kaynağı anlaşılabilirdi.
Tahminen gizli sayfayı kopyalamaya çalışıyorsunuz, sayfayı görünür yapıp tekrar deneyiniz.
 
Uyguladığınız dosyayı görmek gerekir. Kodlarda hata verecek bir durum göremiyorum.
 
Merhaba,
Verdiği hata mesajını da paylaşsanız hatanın kaynağı anlaşılabilirdi.
Tahminen gizli sayfayı kopyalamaya çalışıyorsunuz, sayfayı görünür yapıp tekrar deneyiniz.

Hata mesajı görüntüsünü paylaşmıştım. Gizli sayfaları aktif edip, deneyeceğim.
 
Son düzenleme:
Uyguladığınız dosyayı görmek gerekir. Kodlarda hata verecek bir durum göremiyorum.

Merhaba, dosyam yazdığım gibi xlsm uzantılı içinde 5, 6 tane makro dosyası ve 40 sayfalık, 45 mg büyüklüğünde bir dosya.
 
Hata mesajı görüntüsünü paylaşmıştım
Merhaba,
Ömer beyin demek istediği makro hata verip durduğun da çıkan hata mesajı. Siz kodda hata alan satırı paylaşmışsınız.
Aşağıdaki gibi hata verdiği mesaj kutusunu iletirseniz değerlendirebilirler.

252824
 
Merhaba, dosyam yazdığım gibi xlsm uzantılı içinde 5, 6 tane makro dosyası ve 40 sayfalık, 45 mg büyüklüğünde bir dosya.

Gizli sayfadan dolayıymış, aktif yapınca çalıştı.
Elinize, emeğinize sağlık, teşekkür ederim.
 
Çalışmanızdaki detayları bilmeyince çözüm için çok fazla yorum yapamıyoruz.
 
Geri
Üst