- 28 Dezembro 2010
Número da semana dentro do mês
O Excel possui uma função que é capaz de determinar o número da semana dentro de um ano — NÚMSEMANA(). Não obstante, o problema surge quando queremos determinar o número da semana dentro de um determinado mês.
Se o dia primeiro do mês cai exatamente no início da semana, o cálculo é bem direto. Porém, vamos supor o seguinte cenário:
01/01/2011 (cai em uma sábado)
01/02/2011 (cai em uma terça-feira)
Qual o dia da semana do primeiro caso e do segundo? Em ambos os casos, o primeiro dia da semana cai na primeira semana do mês (considerando domingo como o primeiro dia). Neste cenário, 01-02/04/2011 estão na primeira semana ao passo que 03/04/2011 encontra-se na segunda semana do mês de abril.
Assumindo um cálculo automático e sem referência a célula alguma, você poderá determinar o número da semana dentro do mês usando a fórmula:
- 19 Novembro 2010
Criando Efeitos Visuais em Userforms
O VBA utiliza como biblioteca de interface padrão o MSForms 2.0. Trata-se de um conjunto de controles e objetos os quais são utilizados para construir a interface visual de uma aplicação VBA com o usuário.
O Userform em particular, é a tela principal onde são adicionados e organizados os demais controles como Textbox, Combobox, Buttons, etc.,
Mas diferentemente dos aplicativos criados em VB, o Userform possui algumas limitações em relação a esse último no que diz respeito ao comportamento da tela.
Em formulários VB, é possível, através da própria janela de propriedade, atribuir as caraterísticas comuns à janelas do Windows como por exemplo : Botões Minimizar, Maximizar, Fechar; Ícone na barra de titulo, Ícone na barra de tarefas, Redimensionar, entre outras.
Em formulários VBA, não é possível, sem o auxilio de técnicas externas, aplicar esses efeitos aos userforms.
Vou mostrar nesse breve artigo como adicionar os botões Minimizar, Maximizar e Bloquear o botão Fechar em um formulário VBA sem utilização de activex.
Windows API
- 29 Setembro 2010
Como converter valor digitado para horas no Excel
Uma dúvida comum no Excel é: como digitar um valor em inteiro, digamos, 1743, e ter este valor convertido para horas: 17:43. Infelizmente, a digitação de horas no Excel é um calo inflamado em pé tamanho 41 em um sapato tamanho 35.. é doloroso demais.
Aqui, mostro como converter hora digitada como inteiro para hora (equivalente decimal) utilizando uma UDF (User-Defined Function). Neste caso, precisaremos de uma coluna auxiliar. Sendo assim, na célula A1 voce poderia ter:
830

- 19 Novembro 2010
Reiniciar Pasta de Trabalho
Não sei se alguem já precisou fazer isso, mas eu já e achei a utilidade perfeita.
Uma das situações que requerem que o arquivo seja fechado e reaberto acontece quando no se tem alguma funcionalidade personalzada na ribbon que utiliza a instancia do objeto IRibbonControl.
Esse objeto é instanciado por um callback chamado OnLoad que é executado somente na inicialização do arquivo.
Pois bem, há situações em que, esse objeto perde a sua instancia (Nothing) e todas as referencias que utilizarem esse objeto passará a não funcionar mais até que o arquivo seja reaberto..
Dai a necessidade de se criar método de reiniciar o arquivo a partir do proprio arquivo.
Segue abaixo o código que realiza essa ação
Código VBA
'Programa para executar a rotina 'IniciaRestart' daqui a 1 segundo
Application.OnTime Now + CDate("00:00:01"), "IniciaRestart"
'Fecha o arquivo, pergunta se deseja salvar antes
ThisWorkbook.Close MsgBox("Salvar antes de Reiniciar", vbQuestion + vbYesNo) = vbYes
End Sub
'Essa rotina serve apenas para chama outra.
Sub IniciaRestart()
'Executa a rotina 'ArquivoReiniciado' após o arquivo ser finalizado
Application.Run "ArquivoReiniciado"
End Sub
'Será executada após o reinicio
MsgBox "O Arquivo foi reiniciado", vbInformation
End Sub

- 15 Novembro 2010
Funções de Compatibilidade Excel 2010
Algumas funções presentes no Excel nas versões anteriores à 2010 foram renomeadas e aprimoradas. A maioria delas encontram-se nas categorias de Estatísticas e Engenharia.
Para manter a compatibilidade das versões, foi introduzida uma nova categoria de funções chamadas Funções de Compatibilidade.
Nesta categoria, encontra m-se as funções antigas que se mantiveram para uso dos usuários de versões anteriores.
Vale lembrar porém que essas funções foram aprimoradas e portanto se você pretende e tem certeza que irá utilizar o seu arquivo somente na versão 2010, recomenda-se utilizar as novas versões.
AutoCompletar – Indicador de Versão
Ao digitar uma função em uma célula, o intellicense (AutoCompletar) exibirá um pequeno ícone ao lado do nome da função indicando que a função em questão é uma função de compatibilidade e que foi renomeada e substituída por outro nome, mas que continuará funcionado
- 05 Agosto 2010
Como Segmentar Dados no Excel 2010
É bastante comum a necessidade de segmentação de dados. Neste vídeo, mostro como você pode segmentar dados em diversas planilhas utilizando a ferramenta de tabela dinâmica do Excel 2010. Os passos ensinados neste vídeo também se aplicam ao Excel 2007.