VBA Excel - Barra de Progresso na Barra de Status - Show a Progress Meter in the Status Bar




Show a Progress Meter in the Status Bar



Olá pessoal!

Complementando o tópico anterior, segue novo Post com opção de utilização da nossa Barra de Status do MS Excel. Chamaremos este exemplo de SHOW A PROGRESS METER IN THE STATUS BAR.

Sim, é bom lembrar que este exemplo de código serve para ampliar a visão sobre como utilizar outras informações úteis na Barra de Status, fica mais um exemplo!

PASSO ÚNICO





Insira o código da função e efetue chamadas a ela.




Sub ShowProgress2()



    ' Author                        Contact                        Place



    ' André Luiz Bernardes          bernardess@gmail.com           http://inanyplace.blogspot.com/



    ' Show a Progress Meter in the Status Bar







    Let Application.DisplayStatusBar = True







    ' 1ª Mensagem



    Let Application.StatusBar = String(5, ChrW(9609)) & "Processando..."







    Application.Wait Now + TimeValue("00:00:02")







    ' 2ª Mensagem



    Let Application.StatusBar = String(10, ChrW(9609)) & "Ainda processando..."







    Application.Wait Now + TimeValue("00:00:02") '-- Replace this line with your own code to do something







    ' 3ª Mensagem



    Let Application.StatusBar = String(15, ChrW(9609)) & "Finalizando..."







    Application.Wait Now + TimeValue("00:00:02") '-- Replace this line with your own code to do something







    Let Application.StatusBar = False



End Sub

References: André Luiz BernardesDataPigTechnologies.com

Tags: Bernardes, iniciantes, MS, Microsoft, Office, VBA, Excel, Status Bar, Barra de Status, Status, information, range, selected



André Luiz Bernardes
A&A® - Work smart, not hard.


VBA Excel - Barra de Status Informativa - Info Status Bar









Info Status Bar

Automate Excel VBA - Status Bar Updating
Changing Microsoft Excel Status Bar

Olá pessoal!

Podemos aumentar  a quantidade de visualizações sobre o que estamos fazendo, colocando detalhes na nossa Barra de Status do MS Excel. Chamaremos este exemplo de INFO STATUS BAR.

Antes de continuar, um pequeno parênteses, deixe seus comentários para este post. 

Como sempre fazemos, é bom lembrar que este exemplo de código serve para que possamos ampliar a nossa visão sobre como utilizar outras informações muito mais úteis do que estas na Barra de Status, fica o exemplo!

Ahhh, e faremos passo a passo para incluir os iniciantes.

Início
Já percebeu que ao selecionarmos um range de células, não conseguimos observar o range selecionado na  
'Name Box'? (Veja abaixo)


Tampouco, observamos este Range na Barra de Status.


PASSO 01
Com o intuito de inserirmos um código que possa demonstrar o que selecionamos, vá para o VBE (pressione Alt + F11), e então dê um duplo clique em 'EstaPasta_de_trabalho' (ou 'ThisWorbook' se a sua versão do MS Office estiver em inglês).



PASSO 02
Ao lado direito, na área do editor, copie e cole o código abaixo:

Private Sub Workbook_SheetSelectionChange
(ByVal Sh As Object, ByVal Target As Range)
    ' Author                        Contact                        Place
    ' André Luiz Bernardes          bernardess@gmail.com           http://inanyplace.blogspot.com/
    ' Mostra as células que foram marcadas na barra de status.
    
    Dim cCell As Variant, i As Range
  
    For Each i In Selection.Areas
        Let cCell = cCell + CDec(i.Rows.Count) * i.Columns.Count
    Next

    Let Application.StatusBar = Replace(Selection.Address(0, 0) & " selecionadas (" & cCell & Left(" Célula(s)", 11 + (cCell = 1)) & ")", ",", ", ")
End Sub


PASSO 03
Agora quando selecionar qualquer parte da planilha, sempre observará algo similar a isso:


Muito bem, o exemplo acabou aqui. Mas lembre-se, este foi apenas uma aplicabilidade para a utilização da Barra de Status. Colocarei outras aplicações abaixo para que continue se exercitando:

Exemplo 01
Se você, no código VBA, desligou a atualização da tela, e seus códigos levarem algum tempo para processar, o usuário pode pensar que o computador parou de responder. Por isso, uma boa regra de programação é informar ao usuário sobre a evolução do processamento, exibindo [no mínimo] uma mensagem na Barra de Status na parte inferior da tela.

Sub StatusBarSample()
    Let Application.ScreenUpdating = False 
    ' Desliga a atualização da tela.
    
    ' Certifica-se de que a Barra de Status estará funcional.
    Let Application.DisplayStatusBar = True    
    Let Application.StatusBar = "Por favor, aguarde a execução da 1ª Parte..."

    ' No ponto abaixo, algum código é adicionado para o processamento.
    Application.Wait Now + TimeValue("00:00:02")
    Let Application.StatusBar = "Aguarde a execução da 2ª Parte..."
    
    ' Adicione algum código para o processamento da 2ª Fase.
    Application.Wait Now + TimeValue("00:00:02")
    Let Application.StatusBar = False 
End Sub

Exemplo 02
Você tem um processo que leva algum tempo para ser executado. Talvez uns 30 segundos, talvez 10 minutos. De qualquer forma você quer que o usuário saiba que a macro está sendo executado e em que parte do processe está:

Sub StatusBar()
    ' Author                        Contact                        Place
    ' André Luiz Bernardes          bernardess@gmail.com           http://inanyplace.blogspot.com/
    ' Efetua um contador.
         
    Dim x               As Integer
    Dim MyTimer         As Double
     
    Let Application.StatusBar = True
    
    ' Adapte este loop se for necessário.
    For x = 1 To 250
        Let MyTimer = Timer
        
        Do
        Loop While Timer - MyTimer < 0.03
         
        Application.StatusBar = "Progresso: " & x & " de 250: " & Format(x / 250, "Percent")
        
        DoEvents
    Next x
     
    Let Application.StatusBar = False
End Sub


References: André Luiz BernardesRick Rothstein, DataPigTechnologies.com, erlandsendata.no



Tags: Bernardes, iniciantes, MS, Microsoft, Office, VBA, Excel, Status Bar, Barra de Status, Status, information, range, select

Inspiration: 











ENVIE-ME SUA PLANILHA - E FAÇO A SUA Tabela Dinâmica - Promoção de Novembro/2011


QUE TAL MELHORAR A PERFORMANCE E A APARÊNCIA DAS SUAS PLANILHAS?

Precisa regularmente construir relatórios com layouts diferentes e perde muito tempo com isto?

Seus arquivos texto têm dezenas, centenas de milhares de linhas e você fica copiando para outras planilhas para poder caber?

Precisa consolidar informações de fontes diferentes?

Tem arquivos imensos, com dezenas de megabytes onde coloca dados extraídos de ERP e sistemas de gestão diversos?

Percebe que o filtro do MS Excel não está mais te atendendo?

Gasta mais tempo montando o relatório do que o analisando?

ACRESCENTE TABELAS DINÂMICAS!

Traga dados de fora do Excel

Importando dados de arquivos: Texto, Access, Dbase, Oracle, SQL Server, CSV e outros arquivos de Excel

Usando o MS Query para fazer consultas avançadas

Trazendo dados para suas planilhas sem a necessidade da tabela dinâmica

Tags: Bernardes, MS, Microsoft, Office, MS Excel, Excel, Planilhas, Dados, Data, workshet, workbook, Pivot Table, Tabela Dinâmica, Gráfico Dinâmico, Dynamic Chart, Texto, Access, Dbase, Oracle, SQL Server, CSV, query




Promoção de Novembro/2011 - Tabela Dinâmica - Pivot Table.








QUE TAL MELHORAR A PERFORMANCE E A APARÊNCIA DAS SUAS PLANILHAS?
Precisa regularmente construir relatórios com layouts diferentes e perde muito tempo com isto?
 Seus arquivos texto têm dezenas, centenas de milhares de linhas e você fica copiando para outras planilhas para poder caber?
 Precisa consolidar informações de fontes diferentes?
 Tem arquivos imensos, com dezenas de megabytes onde coloca dados extraídos de ERP e sistemas de gestão diversos?
 Percebe que o filtro do MS Excel não está mais te atendendo?
Gasta mais tempo montando o relatório do que o analisando?

ACRESCENTE TABELAS DINÂMICAS!

Traga dados de fora do Excel

    • Importando dados de arquivos: Texto, Access, Dbase, Oracle, SQL Server, CSV e outros arquivos de Excel;
    • Usando o MS Query para fazer consultas avançadas
    • Trazendo dados para suas planilhas sem a necessidade da tabela dinâmica


Tags: Bernardes, MS, Microsoft, Office, MS Excel, Excel, Planilhas, Dados, Data, workshet, workbook, Pivot Table, Tabela Dinâmica, Gráfico Dinâmico, Dynamic Chart, Texto, Access, Dbase, Oracle, SQL Server, CSV, query, 

Inspiration: 











VBA Access - Exportando query ou tabela para arquivo texto com tabulação.

Exportar o conteúdo de tabelas, e o resultado de queries para arquivos texto delimitados por tabulação, não é algo tão difícil de aparecer como nossa necessidade.

Converting Pipe Delimited Text File To Tab Delimited
Create queries and export them to different tab delimited text
Export Access Query to a pipe delimited .csv file
Export Query result to txt file tab delimited 
Export query results to text file - not delimited
Export query to tab delimited text file
Export query to tab delimited text file
Exporting Data from Access with VBA Code
Microsoft: Access Modules (VBA Coding)
TransferText Macro Action
Truncation of Text on Export to .txt file
VBA + TransferText + SpecificationName (Access 2007) 
Visual Basic :: Export An Access Table As A Tab Delimited Text
table from .ADP to tab delimited text file 
Ainda bem que o MS Access facilita o nosso trabalho.

Observe os passos abaixo:





Posicione o mouse sobre a tabela que deseja exportar e pressione o botão direito.



A interface abaixo o conduzirá para os próximos passos. Informe primeiro o local onde o arquivo será gravado e pressione OK.



Agora ficou fácil!

Siga o passo-a-passo demonstrado abaixo. Certifique-se de escolher toda as mesmas versões demonstradas.





A fase abaixo será muito útil no futuro, pois gravaremos o modo de exportar como uma especificação, a qual poderá ser utilizada com código VBA a posteriori. 


CLIQUE EM AVANÇADO E SALVE-A.



Confirme o local para onde o conteúdo será exportado como arquivo texto.





Lembre-se que a especificação salva anteriormente poderá ser utilizada em conjunto com o código VBA. Como?


Crie um formulário

Crie um botão neste mesmo formulário

Insira o código abaixo dentro da ação do seu botão:



Function Export2Txt()
    Dim nPath As String
    
    Let nPath = "C:\Bernardes\"

    DoCmd.TransferText _
    acExportDelim, _
    "specExport", _
    acExportDelim, _
    , _
    "tbl_Factive", _
    nPath & "tbl_Export.txt", True
End Function



Tags: export, exportar, file, texto, text, TAB, tabulação, tabela, table, query, delimitado, delimited, TransferText, SpecificationName


André Luiz Bernardes
A&A® - Work smart, not hard.

diHITT - Notícias