Criar Botões em VBA

Insira este código em um novo módulo e tecle F5

Sub Criar_Botões()

Dim botão As Button
Dim bot As Range

ActiveSheet.Buttons.Delete

For i = 1 To 5
Set bot = ActiveSheet.Range(Cells(i, 5), Cells(i, 5))
Set botão = _
ActiveSheet.Buttons.Add(bot.Left, bot.Top, bot.Width, bot.Height)

With botão
.OnAction = "Rotina" & i
.Caption = "Rotina " & i
.Name = "Nome" & i
End With

Next i

End Sub

Tratar Erros em VBA

A Instrução On Error

Para fazer o tratamento de erros em vba utilizamos a instrução On Error, esta instrução tem diferentes formatos e opções, vamos passar uma breve explicação de como funciona.

On Error GoTo Line

Ativa o tratamento de erro que inicia na linha especifícada pelo argumento line.

On Error Resume Next

Esta instrução é utilizada para ignorar erros durante a execução.

On Error GoTo 0

Desativa qualque manipulador de erro ativo no procedimento.


Function tratarErro()
'Declaração da variável
Dim x
'Cria o tratamento do erro
On Error GoTo erro
'Chama a variável criando a função
x = 10 / 0
'Finaliza o erro
Exit Function
'Demonstra o erro
erro:
MsgBox "Erro na divisão por " & Erl
End Function


Para acompanhar a depuração aperte a tecla F8.
O Microsoft Excel (nome completo Microsoft Office Excel) é um programa de planilhas eletronicas escrito e produzido pela Microsoft para computadores usando o sistema operacional Microsoft Windows. Seus recursos incluem uma interface intuitiva e capacitadas ferramentas de cálculo e de construção de gráficos que, juntamente com marketing agressivo, tornaram o Excel um dos mais populares aplicativos de computador até hoje. É por grande vantagem o aplicativo de planilha eletrônica dominante disponível para essas plataformas e tem o sido desde a versão 5 em 1993 e da sua inclusão como parte do Microsoft Office.

Um Pouco de História
A Microsoft originalmente comercializou um programa de planilha eletrônica chamado Multiplan em 1982, o qual era muito popular em sistemasCP/M , mas em sistemas MS-DOS perdia em popularidade para o Lotus 1-2-3 . Isso levou ao desenvolvimento de um novo programa chamado Excel que começou com a intenção de, nas palavras de Doug Klunder, "fazer tudo que o 1-2-3 faz e fazer melhor". A primeira versão do Excel foi lançada para o Mac em 1985 e a primeira versão para Windows (numerada 2.0 para se alinhar com o Mac e distribuída com um tempo de execução do ambiente Windows) foi lançada em novembro de 1987 . A Lotus foi lenta em trazer o 1-2-3 ao Windows e por volta de 1988 o Excel havia começado a passar o 1-2-3 em vendas e ajudou a Microsoft a alcançar a posição de liderança no desenvolvimento de software para o PC. Essa conquista, destronando o rei do mundo do software, solidificou a Microsoft como um competidor válido e mostrou seu futuro de desenvolvimento de software gráfico. A Microsoft aumentou sua vantagem com lançamento regular de novas versões, aproximadamente a cada dois anos. A versão atual para a plataforma Windows é o Excel 12, também chamado de Microsoft Excel 2007 . A versão atual para a plataforma Mac OS X é o Microsoft Excel 2004.

No começo da sua vida o Excel se tornou alvo de um processo judicial de marca registrada por outra empresa que já vendia um pacote de software chamado "Excel" na indústria financeira. Como resultado da disputa a Microsoft foi solicitada a se referir ao programa como "Microsoft Excel" em todas as press releases formais e documentos legais. Contudo, com o passar do tempo essa prática foi sendo ignorada, e a Microsoft resolveu a questão quando ela comprou a marca registrada reservada ao outro programa. Ela também encorajou o uso das letras XL como abreviação para o programa; apesar dessa prática não ser mais comum, o icone do programa no Windows ainda é formado por uma combinação estilizada das duas letras, e a extensão do arquivo do formato padrão do Excel até a versão 11 (Excel 2003) é .xls, sendo .xlsx a partir da versão 12, acompanhando a mudança nos formatos de arquivo dos aplicativos do Microsoft Office.

O Excel oferece muitos ajustes na interface ao usuário em relação às mais primitivas planilhas eletrônicas; entretanto, a essência continua a mesma da planilha eletrônica original, as células são organizadas em linhas e colunas, e contêm dados ou fórmulas com referências relativas ou absolutas às outras células.

O Excel foi o primeiro programa de seu tipo a permitir ao usuário definir a aparência das planilhas (fontes, atributos de caractere e aparência da célula). Também introduziu recomputação inteligente de células, na qual apenas céluas dependentes da célula a ser modificada são atualizadas (programas anteriores recomputavam tudo o tempo todo ou aguardavam um comando específico do usuário). O Excel tem capacidades avançadas de construção de gráficos.

Desde 1993, o Excel tem incluído o Visual Basic para Aplicativos (VBA), uma linguagem de programação baseada no Visual Basic que adiciona a capacidade de automatizar tarefas no Excel e prover funções definidas pelo usuário (UDF, user defined functions) para uso em pastas de trabalho. o VBA é um complemento poderoso ao aplicativo que, em versões posteriores, inclui um ambiente integrado de desenvolvimento (IDE, integrated development environment). A gravação de macros pode produzir código VBA que replica ações do usuário, desse modo permitindo automação simples de tarefas cotidianas. o VBA permite a criação de formulários e controles dentro da pasta de trabalho para comunicação com o usuário.

A funcionalidade de automação provida pelo VBA fez com que o Excel se tornasse um alvo para vírus de macro. Esse foi um problema sério no mundo corporativo até os produtos anti-vírus começarem a detectar tais vírus. A Microsoft adotou tardiamente medidas para previnir o mau uso com a adição da capacidade de desativar as macros completamente, de ativar as macros apenas quando se abre uma pasta de trabalho ou confiar em todas as macros assinadas com um certificado confiável.

As versões 5.0 a 9.0 do Excel contêm vários "ovos de páscoa", porém desde a versão 10 a Microsoft tomou medidas para eliminar tais recursos não documentados de seus produtos.


Versões:

Excel 2.0 para Windows
Excel 3.0
Excel 4.0
Excel 5.0 (Office 4.2 e 4.3, também uma versão de 32 bits para o Windows NT somente)
Excel 7.0 (Office 95)
Excel 8.0 (Office 97)
Excel 9.0 (Office 2000)
Excel 10.0 (Office XP)
Excel 11.0 (Office 2003)
Excel 12.0 (Office 2007)

Não há Excel 1.0 para evitar confusão com versões para o Macintosh e nem 6.0 por que ele foi lançado com o Word 7. Todos os produtos do Office 95 têm capacidades de OLE 2 - para mover dados automaticamente de vários programas - e o nome Excel 7 deveria mostrar que ele era contemporâneo do Word 7.

Evento Change em Excel

Já imaginou em alterar um dado quando outro é inserido? isso é possivel em Excel você sabia?

Então vamos ao código

Private Sub Worksheet_Change(ByVal Target As Range)
Dim linha As Integer
Dim coluna As Integer

' Usamos o argumento Target para saber qual campo foi alterado.
coluna = Target.Column
linha = Target.Row

' Executa a função calculo se campo B5 foi alterado.
If (linha = 5 And coluna = 2) Then
ocultar
End If

End Sub
Function ocultar()

Rows("7:7").Select
Selection.EntireRow.Hidden = True
'altere para false se quiser reexibir

End Function


Insira este código dentro da planilha que você utilizará pelo alt+f11

Função ano Bissexto

Function Bissexto(intAno As Integer) As Boolean
'
' verifica se um ano é bissexto
'
Bissexto = False

If intAno Mod 4 = 0 Then
If intAno Mod 100 = 0 Then
If intAno Mod 400 = 0 Then
Bissexto = True
End If
Else
Bissexto = True
End If
End If

End Function