Halo Temans..
   
  Dah lama ga akses internet nih.. Soalnya Di Warnet masih gaptek dengan VISTA 
dan Open Office..
   
  Bagi yang suka macro..Ini kukirimkan versi macronya... (copykan coding 
dibawah kedalam modul) terus jalankan macronya.
   
  Pada dasarnya sama dengan caranya manual yang diberikan oleh Pa Sofyan...
  Wassalam.
   
  Sub ReduceSizeExcelFile() 
      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 
               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 
             
              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 
              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 
              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 


       
---------------------------------
Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try it now.

Kirim email ke