Olá pessoal, tudo bem?
Como mencionei no post anterior dedico este post e os próximos aos códigos dos vídeos de VBA!
Obs.: O vídeo 1 não possui nenhum código em VBA
Vídeo 2: Controle de Formulário
Código para as Optionbuttons
Sub Botãodeopção3_Clique()
Dim i As Integer
i = 0
Select Case Range("O2").Value
Case 1
Planilha1.ComboBox1.Clear
Do While Planilha1.Cells(i + 3, 2) <> ""
Planilha1.ComboBox1.AddItem Planilha1.Cells(i + 3, 2)
i = i + 1
Loop
Case 2
Planilha1.ComboBox1.Clear
Do While Planilha1.Cells(i + 3, 3) <> ""
Planilha1.ComboBox1.AddItem Planilha1.Cells(i + 3, 3)
i = i + 1
Loop
Case 3
Planilha1.ComboBox1.Clear
Do While Planilha1.Cells(i + 3, 4) <> ""
Planilha1.ComboBox1.AddItem Planilha1.Cells(i + 3, 4)
i = i + 1
Loop
End Select
Planilha1.ComboBox1.ListIndex = 0
End Sub
Vídeo 3: Criando UserForms no Excel com o VBA
Código do botão "Calcular":
Private Sub CommandButton1_Click()
UserForm1.TextBox1.Value = 1
UserForm1.TextBox2.Value = 1
UserForm1.Show
End Sub
Código do botão "Calcular" dentro do Userform1:
Private Sub CommandButton1_Click()
Planilha1.Range("J6").Value = TextBox1.Value
Planilha1.Range("J7").Value = TextBox2.Value
'Planilha1.Range("J9").Calculate
TextBox3.Value = Planilha1.Range("J9").Value
End Sub
Código do botão "Sair":
Private Sub CommandButton2_Click()
Unload Me
End Sub
Vídeo 4: Usando Combobox nas Userforms desenvolvidas com o VBA para Excel
Código para preencher a Combobox e exibir a Userform:
Private Sub CommandButton1_Click()
Dim i As Integer
i = 1 'Setando o contador para 1
Do While Planilha2.Cells(i + 2, 2) <> ""
UserForm2.ComboBox1.AddItem Planilha2.Cells(i + 2, 2)
i = i + 1
Loop
UserForm2.ComboBox1.ListIndex = 0
i = UserForm2.ComboBox1.ListIndex
UserForm2.TextBox1.Value = Planilha2.Cells(i + 3, 4)
UserForm2.TextBox2.Value = Planilha2.Cells(i + 3, 6)
UserForm2.Show
End Sub
Código para alterar o conteúdo das Textbox quando alterar o valor da Combobox:
Private Sub ComboBox1_Change()
Dim i As Integer
i = ComboBox1.ListIndex
UserForm2.TextBox1.Value = Planilha2.Cells(i + 3, 4)
UserForm2.TextBox2.Value = Planilha2.Cells(i + 3, 6)
End Sub
Código do botão "Calcular e Gravar":
Private Sub CommandButton1_Click()
Dim altura, espessura As Single
Dim area, inercia, moduloflexao As Single
altura = TextBox1.Value
espessura = TextBox2.Value
area = altura * espessura
inercia = espessura * altura ^ 3 / 12
moduloflexao = espessura * altura ^ 2 / 6
TextBox3.Value = FormatNumber(area, 2)
TextBox4.Value = FormatNumber(inercia, 2)
TextBox5.Value = FormatNumber(moduloflexao, 2)
Dim i As Integer
i = UserForm2.ComboBox1.ListIndex
If Planilha2.Cells(i + 3, 7) = "" Or Planilha2.Cells(i + 3, 8) = "" _
Or Planilha2.Cells(i + 3, 9) = "" Then
Planilha2.Cells(i + 3, 7) = TextBox3.Value 'Área
Planilha2.Cells(i + 3, 8) = TextBox4.Value 'Momento de Inercia
Planilha2.Cells(i + 3, 9) = TextBox5.Value 'Módulo de flexão
Else
Exit Sub
End If
End Sub
Os códigos dos demais vídeos vão ficar para um próximo post!
Abraços a todos!
Mostrando postagens com marcador Excel. Mostrar todas as postagens
Mostrando postagens com marcador Excel. Mostrar todas as postagens
domingo, 16 de outubro de 2016
sexta-feira, 14 de outubro de 2016
Visualizando Gráficos do Excel na Userform - Engenheirando Planilhas
Olá pessoal, tudo bem?
Neste vídeo eu demonstro como inserir um gráfico de Excel em uma Userform através de alguns comandos em VBA.
Neste vídeo eu demonstro como inserir um gráfico de Excel em uma Userform através de alguns comandos em VBA.
Bons estudos a todos!
quarta-feira, 5 de outubro de 2016
Errata - Trabalhando com Checkbox e Opitionbutton em VBA para Excel - Engenheirando Planilhas
Neste artigo eu gostaria de continuar o tema anterior que apresentei sobre a criação de interfaces para as planilhas em Excel através do Visual Basic.
Fiz uma errata sobre o vídeo anterior, onde eu não consegui demonstrar como trabalhar com Optionbuttons separadamente.
Espero que gostem dos vídeos!
Link para a playlist com os outros vídeos da série: https://www.youtube.com/watch?v=RGN8VmWKw1Y&list=PL0hHcu9nGPFavmOYPyCjyymZ0fFsyb-d8
Abraços e desejos a todos uma ótima semana e bons estudos!
quarta-feira, 28 de setembro de 2016
Utilizando Checkbox e Optionbuttons no VBA - Engenheirando Planilhas
Neste vídeo eu descrevo como utilizar os controles Checkbox e Optionbutton nas applicações em VBA para Excel.
Links para a playlist com os outros vídeos da série: https://www.youtube.com/watch?v=Xo9poezq63Q&list=PL0hHcu9nGPFavmOYPyCjyymZ0fFsyb-d8
Abraços e bons estudos a todos!
sábado, 24 de setembro de 2016
Utilizando ListBox para seleção de diversos itens em uma lista nas suas rotinas em VBA para Excel
Engenheiro Pleno na Hydrocom Equipamentos Eletromecânicos LTDA
Neste artigo eu gostaria de continuar o tema anterior que apresentei sobre a criação de interfaces para as planilhas em Excel através do Visual Basic.
No artigo anterior eu apresentei um vídeo demonstrando como trabalhar com ComboBox.
Nesse vídeo faço uma breve demonstração de como utilizar caixas de listagem (Listbox). Eu particularmente considero muito interessante o uso dessa ferramenta pois permite a seleção de diversos itens e operações simultâneas.
Espero que gostem dos vídeos!
Abraços e desejos a todos uma ótima semana e bons estudos!
quarta-feira, 21 de setembro de 2016
Trabalhando com caixas de combinação (Combobox) em VBA para Excel - Engenheirando Planilhas #3
Neste artigo eu gostaria de continuar o tema anterior que apresentei sobre a criação de interfaces para as planilhas em Excel através do Visual Basic.
No artigo anterior eu apresentei um vídeo demonstrando como criar uma interface e trabalhar com caixas de textos, labels e botões.
Nesse vídeo faço uma breve demonstração de como utilizar caixas de combinação (Combobox). Eu particularmente considero muito interessante o uso dessa ferramenta pois permite a realização de testes de hipótese.
Desejo uma ótima semana a todos e bons estudos!
Criando UserForms para otimizar o lay-out das suas planilhas - Engenheirando Planilhas #2
É muito comum ao desenvolver uma planilha em Excel inserir milhares de dados, funções, resultados, gráficos e ao final da execução da planilha verificar que ela não tem um lay-out prático e que acaba dificultando a sua utilização por outras pessoas ou por você mesmo.
Falo isso por experiência própria. Ao longo da minha experiência como estudante e minha experiência profissional desenvolvi diversas planilhas e em todas eu iniciei o desenvolvimento apenas inserindo os dados de entrada, criando as equações, gerando os resultados de uma forma desorganizada ou que não torna a prática visualização da planilha. Várias vezes ouvi críticas (que considero construtivas) por parte de colegas sobre a dificuldade de utilizar uma planilha e que só quem desenvolve a planilha consegue utilizá-la.
Ao aprender programação em VBA, conheci sobre o desenvolvimento de UserForms, que são aquelas janelas onde é possível inserir dados e obter resultados. No vídeo abaixo eu demonstro como criar uma Userform para interagir com os cálculos das planilhas, tornando assim o lay-out mais otimizado.
Espero que vocês gostem desse conteúdo!
Desejo uma ótima semana e bons estudos a todos!
quinta-feira, 15 de setembro de 2016
Utilizando as funções do Excel em suas ou funções VBA
É muito comum ao elaborar suas rotinas e funções em VBA a necessidade de utilizar algumas funções especiais que não constam na biblioteca de funções disponíveis no VBA para Excel ou qualquer outra aplicação da Microsoft.
Eu mesmo por diversas vezes me deparei com essa situação.
Durante a minha experiencia de aprendizado sobre programação em VBA me deparei em uma situação onde necessitei implementar em uma planilha de Excel o cálculo de vigas contínuas através de análise matricial. Nessa época eu tinha conhecimento sobre o desenvolvimento dessas rotinas em Pascal (que depois evoluiu para Delphi e hoje é da Embarcadero), pois foi a linguagem de programação que aprendi na faculdade e utilizei nos cursos de Análise Matricial e Técnicas de Programação no curso de Engenharia Civil da UNICAMP. Iniciei então um trabalho de tradução de um programa que desenvolvi no curso de Análise Matricial em Pascal para VBA.
Quem teve algum contato com o Pascal (o meu primeiro contato foi por volta de 2003/2004) sabe que é necessário criar as funções especiais. E ainda, para quem recorda bem, sabe que na linguagem Pascal todas as sub-rotinas e funções devem ser declaradas antes do código principal! Nossa, essa eu tirei do fundo do baú! hehe!
Hoje, após quebrar muito a minha cabeça e pesquisar muito (obrigado internet banda larga e Google!) aprendi bastante sobre VBA. Naquela época umas das dúvidas que eu tinha era, como uma ferramenta como o Excel que possui tantas funções que poderiam ajudar as minhas rotinas não disponibilizar no VBA esses comandos? Aprendi então que é possível utilizar as funções do Excel dentro das rotinas do VBA, para isso basta utilizar no seu código o comando Application.WorksheetFunction.
Através da utilização das funções de Excel é possível realizar cálculos complexos sem a necessidade de programar sub-rotinas complicadas, como por exemplo, o cálculo do determinante de uma matriz.
Para informações sobre as informações disponíveis do Excel para o VBA, acesse o link https://msdn.microsoft.com/en-us/library/office/ff194401.aspx
Espero ter ajudado com mais esse artigo!
Desejo uma boa semana a todos!
Eu mesmo por diversas vezes me deparei com essa situação.
Durante a minha experiencia de aprendizado sobre programação em VBA me deparei em uma situação onde necessitei implementar em uma planilha de Excel o cálculo de vigas contínuas através de análise matricial. Nessa época eu tinha conhecimento sobre o desenvolvimento dessas rotinas em Pascal (que depois evoluiu para Delphi e hoje é da Embarcadero), pois foi a linguagem de programação que aprendi na faculdade e utilizei nos cursos de Análise Matricial e Técnicas de Programação no curso de Engenharia Civil da UNICAMP. Iniciei então um trabalho de tradução de um programa que desenvolvi no curso de Análise Matricial em Pascal para VBA.
Quem teve algum contato com o Pascal (o meu primeiro contato foi por volta de 2003/2004) sabe que é necessário criar as funções especiais. E ainda, para quem recorda bem, sabe que na linguagem Pascal todas as sub-rotinas e funções devem ser declaradas antes do código principal! Nossa, essa eu tirei do fundo do baú! hehe!
![]() |
| Exemplo de uma função que eu criava dentro dos meus módulos em VBA - Cálculo de uma raiz quadrada. |
Hoje, após quebrar muito a minha cabeça e pesquisar muito (obrigado internet banda larga e Google!) aprendi bastante sobre VBA. Naquela época umas das dúvidas que eu tinha era, como uma ferramenta como o Excel que possui tantas funções que poderiam ajudar as minhas rotinas não disponibilizar no VBA esses comandos? Aprendi então que é possível utilizar as funções do Excel dentro das rotinas do VBA, para isso basta utilizar no seu código o comando Application.WorksheetFunction.
![]() |
| Utilizando a função potência do Excel na rotina de cálculo da distância entre dois pontos |
Através da utilização das funções de Excel é possível realizar cálculos complexos sem a necessidade de programar sub-rotinas complicadas, como por exemplo, o cálculo do determinante de uma matriz.
Para informações sobre as informações disponíveis do Excel para o VBA, acesse o link https://msdn.microsoft.com/en-us/library/office/ff194401.aspx
Espero ter ajudado com mais esse artigo!
Desejo uma boa semana a todos!
Tornando Planilhas mais Dinâmicas Através dos Controles de Formulários
Olá pessoal, tudo bem?
Nesse vídeo faço uma breve demonstração de como tornar as planilhas eletrônicas de Excel para engenharia mais simples de utilizar através dos controles de formulários.
Bons estudos a todos!
Nesse vídeo faço uma breve demonstração de como tornar as planilhas eletrônicas de Excel para engenharia mais simples de utilizar através dos controles de formulários.
Bons estudos a todos!
terça-feira, 13 de setembro de 2016
Criando suas próprias funções no Excel com VBA
As aplicações em Visual Basic dos produtos da Microsoft permitem ao usuário criar rotinas e funções para otimizar e customizar suas planilhas.
Apesar do Excel possuir inúmeras funções matemáticas, estatísticas, controle, operações com datas dentre outras, o software é carente para a maioria das funções de engenharia, como no caso da engenharia estrutural, o cálculo do momento de inércia da seção transversal de uma viga perfil "I", por exemplo. E esse software é o mais usado na rotina de uma empresa de engenharia, seja para o desenvolvimento como para outras funções!
Para criar suas funções em VBA é necessário um conhecimento mínimo de programação em Visual Basic. A criação das funções é muitos simples. Para isso vamos utilizar o editor de Visual Basic do Excel.

As funções e rotinas em VBA devem ser escritas nos módulos. Para inserir um novo módulo clique em Inserir > Módulo...

No módulo podemos criar as funções e subrotinas para a planilha em Excel. Para criar uma função, devemos criar uma funcion. O VBA permite que declaremos as funções com públicas ou privadas. Como o proprio nome sugere, as funções públicas são acessíveis ao código do módulo onde ela foi criada e aos outros módulos. As privadas são acessíveis somente ao módulo onde a rotina ou função foi criada. Ao criar uma subrotina ou função não é necessário declarar como pública ou privada. Por definição o VBA entende que se a rotina não é declarada, ela é publica. Declarar uma rotina é uma estratégia interessante para economizar memória em códigos mais complexos.
A criação de uma função é feita da seguinte maneira
[Public ou Private] Function NomeFuncao ([Byval ou Byref] variavel1 [As tipo], [Byval ou Byref] variavel2 [As tipo]) As tipo
Statements
End Function
Os trechos acima marcados entre colchetes "[]" não precisam ser digitados no seu código. A função pode ter "n" variáveis, e essas variáveis podem ser passadas para a função como referencia (Byref) ou por valor (Byval). Ao passar o valor por referencia você está informando a função o valor da variável, ou seja, o valor da variável será alterado dentro da função ou subrotina e poderá retornar um valor diferente para a sua planilha, ao passar uma variável por valor estamos informando a rotina uma cópia da variável, mantendo o seu valor original.
Outro ponto importante ao criar uma função é declarar o tipo da variável. Para isso utiliza-se o comando "As tipo". O tipo da variável pode ser inteiro, texto, número real, booleana etc. Por definição o VBA declara as variáveis como Variant, que são variáveis que podem assumir qualquer valor. Declarar as variáveis é outra estratégia para poupar memória das aplicações. Assim como para as variáveis, as funções necessitam ser declaradas.
Feita a definição da função o código pode ser implementado. No modelo acima o código será escrito nos Statements. Feito o código finaliza-se a função com o comando End Function
Aqui está um exemplo de função em VBA no Excel. Esta função faz o cálculo do momento de inércia e uma seção retangular:

Para utilizar essa fórmula no Excel basta selecionar uma célula e digitar "=MomentoInercia(base;altura)". Os valores base e altura são variáveis, que podem ser digitados diretamente na fórmula ou ser valores de outras células, como mostro abaixo:


Criar funções em VBA pode facilitar muito o desenvolvimento de planilhas personalizadas e funcionais para engenharia, evitando trabalhar com fórmulas extensas que são difíceis de corrigir e verificar.
domingo, 11 de setembro de 2016
Automatizando procedimentos repetitivos em Excel com a gravação de macros - Engenheirando Planilhas #1
Olá pessoal, tudo bem?
Hoje eu início minha série com dicas sobre Excel e Visual Basic para Excel (o tão famoso VBA)!
Esse primeiro post vem de um artigo meu que publiquei no Linkedin a alguns meses.
Nesse post eu fiz um vídeo onde eu demonstro como criar macros para automatizar suas rotinas em Excel!
Hoje eu início minha série com dicas sobre Excel e Visual Basic para Excel (o tão famoso VBA)!
Esse primeiro post vem de um artigo meu que publiquei no Linkedin a alguns meses.
Nesse post eu fiz um vídeo onde eu demonstro como criar macros para automatizar suas rotinas em Excel!
Espero que esse tutorial ajude muito vocês!
Abraços e até o próximo vídeo!
Abraços e até o próximo vídeo!
Assinar:
Postagens (Atom)

