Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

.: Vitrine

Carregando artigos...

Views

Mostrando postagens com marcador small. Mostrar todas as postagens
Mostrando postagens com marcador small. Mostrar todas as postagens

Excel Tips - Como comprimir arquivos XLSX para arquivos ainda menores - How to Compress xlsx Files to the Smallest Possible Size


Hello folks!

Há muitos posts atrás indiquei como era possível compactarmos o conteúdo de planilhas por simplesmente:

- Exportar o conteúdo delas para planilhas novas
- Manter o mesmo tipo de fonte em toda a planilha
- Inserir um código que ao fechar excluísse todas as linhas em branco não utilizadas


Muitos implementaram essas maluquices e tiveram bons resultados.

Agora a dica é boa, e é prá valer.

Suponhamos que você tenha um arquivo xlsx com 20 MB de tamanho. Precisando reduzir o arquivo para um tamanho mais aceitável.



081811_0644_HowtoCompre1.png


Normalmente, eu o converteria num arquivo xls, o que o tornaria muito menor. Mas esse arquivo em particular tem demasiadas linhas para serem convertidas para um xls.

Então a primeira coisa que eu tento fazer é 'zipá-lo' com o WinZip. Mas, como você pode perceber, ele é comprimido para apenas 17 MB, o que realmente não é muito menor. Por quê? Isso porque os arquivos xlsx já são tecnicamente compactados. E todos nós sabemos que quando você tenta 'zipar' um arquivo 'zipado', não obterá um bom encolhimento neste.
081811_0644_HowtoCompre2.png
Bem, vamos ao truque. Pego o meu arquivo original e mudo a extensão dele para .zip



081811_0644_HowtoCompre3.png


Depois disso, eu extraio o conteúdo do arquivo .zip.
081811_0644_HowtoCompre4.png


Uma vez que os conteúdos são extraídos, eu os 'zipo' de volta usando um programa de compressão,como o WinZip mesmo.

081811_0644_HowtoCompre5.png


Isto nos deixa com um arquivo compactado contendo todo o meu conteúdo, como o
tamanho comprimido de 14 MB. Agora
posso mudar a extensão de volta para xlsx.
081811_0644_HowtoCompre6.png

Quando o arquivo for alterado novamente para xlsx, ele funciona apenas como um arquivo Excel normal. 6 MB menor que o original.

081811_0644_HowtoCompre7.png

Então você pode estar se perguntando: Ei! O que houve aqui? Aparentemente a tecnologia de compressão que o MS Excel utiliza para criar arquivos xlsx é inferior ao algoritmo utilizado no Winzip. Agora tente compactar com o Winrar para ver.

Ahh, só de brincadeira, que tal criar um aplicativo que automatize toda a compressão? E não deixe de enviá-lo para que eu possa dar o crédito. Té +, e boa diversão.


Tags: VBA, Excel, small, size, xls, xlsx, dica, trick, tip, truque, zip, compact, winzip

VBA Excel - Reduzindo o tamanho das suas planilhas - SHRINK REDUCE EXCEL FILE SIZE


Suponha que ao receber um arquivo ele tivesse uns poucos Kbytes ou não mais do que algo entre 5 ou 6 MBytes. Aí, você efetuou algumas alterações pequenas, insignificantes, e salvou-o novamente na sua pasta. Neste momento você tem uma grande surpresa. Descobre que o tamanho da sua planilhas foi multiplicado entre 3 a 100 vezes mais!

Sim, isso é possível de acontecer no MS Excel.


Option Explicit

Sub SHRINK_EXCEL_FILE_SIZE()

    Dim WSheet As Worksheet
    Dim CSheet As String 'New Worksheet
    Dim OSheet As String 'Old WorkSheet
    Dim Col As Long
    Dim ECol As Long 'Last Column
    Dim lRow As Long
    Dim BRow As Long 'Last Row
    Dim Pic As Object
   
    For Each WSheet In Worksheets
        WSheet.Activate
         'Put the sheets in a variable to make it easy to go back and forth
        Let CSheet = WSheet.Name

         'Rename the sheet to its name with _Delete at the end
        

Let 
OSheet = CSheet & "_Delete"
        

Let 
WSheet.Name = OSheet


         'Add a new sheet and call it the original sheets name
        Sheets.Add
        

Let 
ActiveSheet.Name = CSheet


        Sheets(OSheet).Activate
   
        'Find the bottom cell of data on each column and find the further row
        For Col = 1 To Columns.Count 'Find the actual last bottom row
            If Cells(Rows.Count, Col).End(xlUp).Row > BRow Then
                

Let 
BRow = Cells(Rows.Count, Col).End(xlUp).Row
            End If
        Next
       
        'Find the end cell of data on each row that has data and find the furthest one
        For lRow = 1 To BRow 'Find the actual last right column
            If Cells(lRow, Columns.Count).End(xlToLeft).Column > ECol Then
                

Let 
ECol = Cells(lRow, Columns.Count).End(xlToLeft).Column
            End If
        Next
       
        'Copy the REAL set of data
        Range(Cells(1, 1), Cells(BRow, ECol)).Copy
        Sheets(CSheet).Activate
        'Paste Every Thing
        Range("A1").PasteSpecial xlPasteAll

        'Paste Column Widths
        Range("A1").PasteSpecial xlPasteColumnWidths

        Sheets(OSheet).Activate

        For Each Pic In ActiveSheet.Pictures
            Pic.Copy
            Sheets(CSheet).Paste
            Sheets(CSheet).Pictures(Pic.Index).Top = Pic.Top
            Sheets(CSheet).Pictures(Pic.Index).Left = Pic.Left
        Next Pic

        Sheets(CSheet).Activate
       
       'Reset the variable for the next sheet
        

Let 
BRow = 0
        

Let 
ECol = 0
    Next WSheet
   
     ' Since, Excel will automatically replace the sheet references for you on your formulas,
     ' the below part puts them back.
     ' This is done with a simple replace, replacing _Delete with nothing
    For Each WSheet In Worksheets
        WSheet.Activate
        Cells.Replace "_Delete", ""
    Next WSheet
   
    'Roll through the sheets and delete the original fat sheets
    For Each WSheet In Worksheets
        If Not Len(Replace(WSheet.Name, "_Delete", "")) = Len(WSheet.Name) Then
            

Let 
Application.DisplayAlerts = False
            WSheet.Delete
            

Let 
Application.DisplayAlerts = True
        End If
    Next
End Sub

Tags: VBA, Excel,, size, small, reduce, file, archive, tamanho, planilha, reduzir 





Dicas Excel - Como comprimir arquivos XLSX para arquivos ainda menores - How to Compress xlsx Files to the Smallest Possible Size




Hello folks!

Há muitos posts atrás indiquei como era possível compactarmos o conteúdo de planilhas por simplesmente:

- Exportar o conteúdo delas para planilhas novas

- Manter o mesmo tipo de fonte em toda a planilha
- Inserir um código que ao fechar excluísse todas as linhas em branco não utilizadas

Muitos implementaram essas maluquices e tiveram bons resultados.


Agora a dica é boa, e é prá valer.


Suponhamos que você tenha um arquivo xlsx com 20 MB de tamanho. Precisando reduzir o arquivo para um tamanho mais aceitável.



081811_0644_HowtoCompre1.png

Normalmente, eu o converteria num arquivo xls, o que o tornaria muito menor. Mas esse arquivo em particular tem demasiadas linhas para serem convertidas para um xls.

Então a primeira coisa que eu tento fazer é 'zipá-lo' com o WinZip. Mas, como você pode perceber, ele é comprimido para apenas 17 MB, o que realmente não é muito menor. Por quê? Isso porque os arquivos xlsx já são tecnicamente compactados. E todos nós sabemos que quando você tenta 'zipar' um arquivo 'zipado', não obterá um bom encolhimento neste.


081811_0644_HowtoCompre2.png




Bem, vamos ao truque. Pego o meu arquivo original e mudo a extensão dele para .zip




081811_0644_HowtoCompre3.png


Depois disso, eu extraio o conteúdo do arquivo .zip.


081811_0644_HowtoCompre4.png

Uma vez que os conteúdos são extraídos, eu os 'zipo' de volta usando um programa de compressão,como o WinZip mesmo.

081811_0644_HowtoCompre5.png


Isto nos deixa com um arquivo compactado contendo todo o meu conteúdo, como o 


tamanho comprimido de 14 MB. Agora



posso mudar a extensão de volta para xlsx.

081811_0644_HowtoCompre6.png

Quando o arquivo for alterado novamente para xlsx, ele funciona apenas como um arquivo Excel normal. 6 MB menor que o original.

081811_0644_HowtoCompre7.png

Então você pode estar se perguntando: Ei! O que houve aqui? Aparentemente a tecnologia de compressão que o MS Excel utiliza para criar arquivos xlsx é inferior ao algoritmo utilizado no Winzip. Agora tente compactar com o Winrar para ver.

Ahh, só de brincadeira, que tal criar um aplicativo que automatize toda a compressão? E não deixe de enviá-lo para que eu possa dar o crédito. Té +, e boa diversão.
Reference: DataPigTechnologies


Tags: Bernardes, MS, Microsoft, Office, Excel, small, size, xls, xlsx, dica, trick, tip, truque, zip, compact, winzip



diHITT - Notícias