Views

...

Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

E-mails

Deixe seu e-mail para receber atualizações...

eBook Promo

Review - MS Excel 2010 X MS Excel 2007.

Bem às portas da liberação da nova versão do MS Excel 2010, queremos efetuar uma pequena e singela comparação entre as versões 2007 e 2010 (incluindo a versão 2003 quando possível). Convido-o a observar esses estudos simples mas bem elucidativos quanto a melhora de performance do MS Excel 2010.
 
Este artigo é uma tradução livre e ampliada do que foi publicado em DATABISON.

Excel 2010 x Excel 2007

Os desempenhos forma medidos em quatro parâmetros:
1. Tempo abrangido para a criação de tabela dinâmica;
2. Tempo abrangido para a criação de gráficos;
3. Tempo abrangido para preencher um intervalo com números;
4. Tempo abrangido para preencher um intervalo com fórmulas.

Todos os testes foram realizados em arquivos já salvos em pastas de trabalho, de modo que qualquer interferência do formato do arquivo fosse excetuada. (Aviso: Obviamente não foram feitos testes "cientificos" e, portanto, os resultados são apenas indicativos [e não conclusivos]. A execução variará de acordo com configurações de hardware e software).

Tempo abrangido para a criação de tabela dinâmica:

2007-12,08 sec
2010-10,38 sec

excel-2010-excel-2007-pivot-table.png

Foi utilizado o código do exemplo abaixo para criar um conjunto de tabelas dinâmicas (Pivot Tables). O MS Excel 2003 não pôde participar deste ensaio, a versão do código utilizado para criar a PT (Pivot Table) seria um pouco diferente das utilizadas para o MS Excel 2007 e MS Excel 2010. O MS Excel 2010 teve um tempo de execução médio de 10,38 segundos o que foi cerca de 14% inferior ao MS Excel 2007.  

Sub create_pivot()
t = Timer
For i = 1 To 100
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Sheet1!R1C1:R3457C6", Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:=ActiveSheet.Cells(1, 1), TableName:="PivotTable1", DefaultVersion _
        :=xlPivotTableVersion12
Next i
MsgBox Timer - t
End Sub

Tempo abrangido para preencher um intervalo com números:

2003-14,86 sec
2007-32,57 sec
2010-10,86 sec

excel-2010-excel-2007-comparison-fill-range-with-number.png
A melhoria mais perceptível está neste desempenho ao preencher uma planilha com números. O MS Excel 2010 ficou em primeiro lugar com um tempo de 10,86 segundos. Deixando para trás o MS Excel 2003, que ficou em segundo lugar com um tempo de 14,86 segundos. Já o MS Excel 2007 ficou para trás, com um tempo de 32,57 segundos. Melhoria de 119%.

Sub fill_range()
t = Timer
For i = 1 To 5000
For j = 1 To 10
Cells(i, j).Value = 10
Next j
Next i
MsgBox Timer - t
End Sub
 
 
Tempo abrangido para preencher um intervalo com fórmulas

2003-6,24 sec
2007-14,32 sec
2010-8,84 sec

excel-2010-excel-2007-comparison-fill-range-with-formulas.png

Aqui observamos mais uma tarefa na qual MS Excel 2010 não é melhor do que MS Excel 2007, quando se trata de preencher uma planilha com fórmulas. Mais uma vez percebemos que o trabalho imposto na Microsoft foi em melhorar o desempenho aparente. Embora o MS Excel 2003 bata seus sucessores em 6,24 segundos, o MS Excel 2010 não está muito atrás em 8.84 segundos, enquanto o MS Excel 2007 chafurda na poeira em 14,32 segundos. Aperfeiçoamento - 38%.

Sub fill_formula()
t = Timer
For i = 1 To 500
For j = 1 To 10
Cells(i, j).FormulaR1C1 = "=SUM(10+20)"
Next j
Next i
MsgBox Timer - t
End Sub

Tempo abrangido para a criação de gráficos

2007-29,62 sec
2010-10,74 sec

Este último teste foi executado para medir os progressos da área gráfica. Gostaria muito de poder comparar estes resultados com os informações do MS Excel 2003, mas, como no caso das tabelas dinâmicas, o próprio código teria sido um pouco diferente e, portanto, não estaríamos comparandor maçãs-com-maçãs. Mais uma vez, o MS Excel 2010 supera o MS Excel 2007 pela larga vantagem de 64%.

excel-2010-excel-2007-charting.png


Sub create_chart()
t = Timer
For i = 1 To 10
    Range("A1:K4").
Select
    Range("K4").Activate
    ActiveSheet.Shapes.AddChart.
Select
    ActiveChart.SetSourceData Source:=Range("Sheet1!$A$1:$K$4")
Next i
MsgBox Timer - t
End Sub
 
Pois bem senhoras e senhores, sim, há melhorias que ajudam na pontuação do MS Excel 2010 em detrimento do MS Excel 2007 em todas as suas muitas áreas.
 
Agora, não fiquemos cegos ao fato de que ao compará-lo com o MS Excel 2003, este ainda deixa poderia ser melhor.
 
Não desconsideremos o fato de que:
O MS Excel 2003 suporta     16.777.216 células por planilha,
O MS Excel 2010 suporta 17.179.869.184 células por planilha,
 
Ou seja, 1.024 vezes mais células.
 
Convido-o a ampliar os testee e a retornar-me com seus comentários e acréscimos. Assim poderemos compreender melhor e mais profundamente as reais vantagens produtivas dessa nova versão.
 

Twitter: @officespecialis
             @brzexceldevelop
             @brzaccessdevel


André Luiz Bernardes
A&A - WORK, DON´T PLAY!
http://al-bernardes.sites.uol.com.br/
bernardess@gmail.com

eBooks VBA na AMAZOM.com.br

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine