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!

terça-feira, 27 de setembro de 2016

CONVITE - Como aplicar Machine Learning na sua empresa? Conheça casos reais e saiba como começar na área neste webinar


Olá pessoal, tudo bem?

Recebi um e-mail convite da Udacity e achei interessante divulgar aqui!


Empresas de ponta já aplicam machine learning em produtos que usamos no nosso dia a dia, como no Google Translator, no reconhecimento de imagens do Facebook e na recomendação de filmes da Netflix. As aplicações são inúmeras.

O avanço da Inteligência Artificial nos últimos anos se baseia na i) disponibilidade de grandes massas de dados, no ii) acesso gratuito a algoritmos de alto nível e no iii) crescimento exponencial da capacidade computacional.

Quer entender melhor como tudo isso funciona? Participe do nosso webinar com Adriano Almeida, responsável por Ciência de Dados na Udacity Brasil. Apresentaremos as principais técnicas de Machine Learning de maneira simples, com exemplos reais que podem ser aplicados em qualquer empresa.

Quando? Quarta-feira, 28 de setembro, 19h.

Como? Inscreva-se para receber o link do webinar no dia do evento. 
Não pode participar essa hora? Inscreva-se mesmo assim que enviaremos a gravação após o evento.

Abraços a todos!


domingo, 25 de setembro de 2016

Draftsight - um software CAD livre para utilizar!

Olá pessoal, tudo bem?

Como dizem, recordar é viver. Pois bem, hoje eu tive um desses dias onde resolvi recordar algumas coisas do passado. Pesquisando um pouco sobre o que eu já desenvolvi encontrei um artigo que escrevi em 2011 para o site Viva o Linux!

Em 2010 eu estava maravilhado com a nova versão Ubuntu (Linux para iniciantes e eu, um total noob) e a grande funcionalidade e capacidade das plataformas e softwares OpenSource.  O programa de quem utiliza uma plataforma OpenSource é a compatibilidade com os softwares pagos, desenvolvidos para o Windows, em especial os softwares de engenharia.

Nesse ano eu já havia formatado meu computador umas 30 vezes tentando utilizar o Linux e procurando maneiras de emular o Windows e os softwares que estavam instalados no meu antigo notebook. Sempre tendo muitas falhas resolvi buscar algumas alternativas em softwares OpenSource. 

Existia na época um software CAD que era disponível no gestor de aplicativos do Ubuntu o QCAD, um software CAD livre, porém com sérios problemas de compatibilidade com o software da Autodesk e com um desempenho muito aquém quando comparado aos softwares da Autodesk na época.

Em 2011 a Dassault Systemes lançou no mercado um novo produto: o DraftSight! Era um software CAD muito similar com o desenvolvido pela Autodesk, porém com a vantagem de ser gratuito. 

Fonte: twitter @SolidExpert

Na minha opinião essa foi uma grande sacada de marketing da Dassault. Quem já trabalhou com os softwares da Autodesk sabe que não já como comparar a funcionalidade e praticidade de um AutoCAD com relação a outro software disponível no mercado, ainda mais com relação ao software livre. 

A Dassault também é uma empresa renomada no mercado. Ela desenvolve nada menos que o CATIA, o software mais utilizado na industria automotiva e aeroespacial. Tirar a hegemonia da Autodesk no mercado não seria nada fácil.

A Dassault disponibilizou então 3 versões para o software: uma gratuita para estudantes e profissionais liberais, uma versão corporativa para pequenas e médias empresas e outra versão corporativa para as grandes empresas.

Eu utilizei por alguns meses o software e na época a aplicação era muito similar ao da Autodesk. O tempo de carregamento do software era relativamente rápido, os comandos eram os mesmos dos softwares da Autodesk e até a interface gráfica era similar. Esse software também tinha a vantagem de ser em português e isso ajudava bastante na hora de utilizar o Help ou entender o que os comandos pediam. 

Minha conclusão com relação ao software é que vale a pena para quem quer estudar CAD e não quer piratear nenhum software proprietário. Também recomendo este software para quem está começando no mercado e não tem investimento ainda para adquirir uma licença de um software proprietário.

Espero ter ajudado com mais uma dica!

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!

sexta-feira, 23 de setembro de 2016

Somos protagonistas ou coadjuvantes?

Início este texto com a seguinte pergunta: somos protagonistas ou coadjuvantes?

Durante a nossa vida passamos por diversos estágios onde aprendemos coisas novas, tomamos decisões, nos desapontamos, temos momentos de alegria e tristeza e etc.

Em alguns momentos de nossas vidas temos o poder da decisão ou simplesmente somos carregados pela situação e nos tornamos meros caroneiros, e as coisas simplesmente acontecem. Nessas horas somos protagonistas ou coadjuvantes.

Até o momento eu escrevi sobre protagonistas e coadjuvantes mas, o que é ser um protagonista ou coadjuvante?

Eu entendo que ser protagonista é ser consciente de todos os atos que vivenciamos, ter a capacidade de analisar e refletir sobre as ações tomadas, ter consciência dos resultados obtidos e principalmente, ter ideia de quais são as suas metas.

Da mesma maneira ser um coadjuvante é o oposto ao ser um protagonista. De maneira resumida seria como não ter controle quase nenhum sobre a sua própria vida.

Existem pessoas que podem ter como referência os melhores casos de sucesso, ler seus livros, conhecer seus conceitos e idéias, mas simplesmente não conseguem deixar de ser coadjuvantes.

Deixo aqui algumas atitudes que eu acredito que me ajudam a ser um protagonista da minha vida:


- Ter objetivos e metas definidos; 

- Ter um planejamento;

- Estar em contato com pessoas que tem objetivos e metas definidos;

- Cuidar da minha saúde física e mental;

- Buscar motivação apesar das dificuldades;

- Evitar negativismos.

Existem outras atitudes que eu não me recordo no momento em que eu escrevo este texto, mas essas atitudes básicas me dão uma motivação e energia para ser o protagonista da minha vida!

A Fábula do Rei e uma Bela Lição Sobre Liderança

Era uma vez um reino cujo rei vendo que sua vida se aproximara do fim decidiu que era hora de deixar um dentre seus três amados filhos como futuro rei.

Dotado de muita sabedoria e experiência o rei chamou seus filhos e disse:

"- Meus filhos, minha hora se aproxima. É chegada também a hora de um de vocês ser meu substituto e liderar nosso reino! Como vocês três são adultos, proponho um desafio para vocês: do nascer ao por do sol, vocês sairão com seus cavalos e deverão demarcar o maior área possível. Aquele que demarcar a maior área será o novo rei!"

Animado o primeiro filho resolveu logo na manhã seguinte aventurar-se e partiu assim que o sol nasceu. Ele cavalgou durante todo o dia e conseguiu delimitar uma boa área. Feliz com o seu resultado voltou para o seu castelo aguardar o resultado dos seus irmãos.


Essa foi a área delimitada pelo primeiro filho.

Passados alguns dias o segundo filho resolveu tentar o desafio proposto pelo pai. Assim que viu o primeiro raio de sol ele pegou o seu cavalo e galopou por várias horas. Como ele estava disposto a demarcar um território maior que o do seu irmão ele acabou não se atentando ao tempo, fracassando em seu objetivo e não delimitando nenhuma área.


E essa foi a área na tentativa do segundo filho.

O terceiro filho então, dadas as experiências dos seus dois irmãos resolveu adotar uma estratégia diferente. Ele estudou o mapa do reino e definiu alguns pontos de descanso. Combinou com seus amigos de maior confiança que preparassem seus melhores cavalos e que o aguardasse para realizar a troca. O terceiro filho então saiu logo pela manhã e partiu em direção ao primeiro ponto, lá ele descansou rapidamente e trocou de cavalo, partindo em direção ao próximo ponto. Como os cavalos estavam sempre descansados ele conseguia performar ao máximo e dessa maneira conseguiu delimitar a maior área ao final do dia.

E essa foi a área delimitada pelo terceiro filho, que se tornou de rei e fez com que seu reino prosperasse mais e mais.

Com essa história eu fecho a seguinte lição: Um bom rei planeja, um bom rei confia em seus amigos e delega a eles tarefas. Como seus colegas sabem que o rei é de confiança eles executam as atividades passadas da melhor maneira possível. Um bom rei executa o que foi planejado, buscando a máxima performance e o melhor resultado.

Essa lição vale para todos que são líderes, ou que desejam ser líderes. Essas são as qualidades que seus colegas e seus superiores esperam de vocês!

Boa sorte na sua jornada!

Obs.: Peço desculpas pela qualidade dos desenhos!

quarta-feira, 21 de setembro de 2016

Salesforce: uma plataforma para desenvolvimento de aplicativos em nuvem

No artigo anterior escrevi sobre a Udacity, a plataforma de ensino a distância voltado a tecnologia, em especial para o desenvolvimento de softwares e apps. 

Como já descrevi também em outros artigos tenho bastante interesse por aprender sobre o desenvolvimento de aplicativos, softwares e ferramentas, em especial na área de engenharia e melhoria de processos. Resolvi então me "matricular" em curso de desenvolvimento de apps na Udacity.

O primeiro curso que surgiu para mim foi o "Intro to Point e Click App Development", ou "Introdução ao Desenvolvimento de Aplicativos Aplicando e Clicando". (se é que podemos dizer assim! :P)

Esse curso utiliza a plataforma Salesforce (que leva o mesmo nome da empresa), que é uma plataforma CRM (Customer Relationship Management ou Gestão de Relacionamento do Cliente). Como consta no site da Salesforce: "O termo se refere a um conjunto de práticas, estratégias de negócio e tecnologias focadas no cliente que, desde pequenas e médias, até grandes empresas, podem utilizar para gerenciar e analisar as interações com seus clientes, antecipar suas necessidades e desejos, otimizar a rentabilidade e aumentar as vendas e a assertividade de suas campanhas de captação de novos clientes. O CRM armazena informações de clientes atuais e potenciais – nome, endereço, número de telefone, etc –, e suas atividades e pontos de contato com a empresa, incluindo visitas a sites, ligações telefônicas, e-mails, entre outras interações. Entretanto, a plataforma não é apenas uma lista de contatos elaborada: ela reúne e integra dados valiosos para preparar e atualizar suas equipes com informações pessoais dos clientes, histórico e preferência de compras. O que torna a solução de CRM uma das tecnologias corporativas mais importantes e inovadoras disponíveis para empresas é o modo como ela usa as informações dos clientes para gerenciar contas, leads e oportunidades de vendas em um único local."

O CRM tem a potencialidade de rastrear e gerenciar as informações dos seus clientes, conecta equipes de trabalho em qualquer dispositivo, pois os dados são armazenados em nuvem, simplifica atividades repetitivas para focar gestores, gerentes e diretores no acompanhamento de leads de uma maneira mais efetiva, fornece recomendações e insights instantâneos e pode ser expandido e personalizado conforme o crescimento da empresa.  

Sobre um pouco da Salesforce, a empresa foi fundada em 1999 por Marc Halpin, ex-executivo da Oracle num período que pouco se falava de computação em nuvem. Trata de uma empresa de softwares on-demand, que hoje está presente em mais de 23 países.

Como cada empresa é uma empresa, assim como cada indivíduo é um indivíduo, a grande sacada da Salesforce foi a possibilidade de customização do CRM conforme a necessidade do cliente. Para isso, a empresa vende tanto soluções on-demand como permite ao seu cliente desenvolver as aplicações conforme sua necessidade e dessa maneira a Salesforce torna-se um servidor em nuvem.

Voltando ao foco deste artigo, gostaria de escrever um pouco sobre a minha experiência até o momento com o desenvolvimento de um app utilizando a plataforma Salesforce. 

Como o foco principal é o desenvolvimento de aplicativos CRM, o foco principal é o desenvolvimento do banco de dados para armazenamento das informações dos clientes e posterior desenvolvimento de relatórios.



Até o momento aprendi a criar os bancos de dados (ou objetos/ tabelas), os campos de cada tabela, inserir os registros, criar a relação de mestre e detalhes entre as tabelas e a criar algumas regras de validação.


Lay-out oferecido pela plataforma para os objetos

Na minha opinião para um iniciante como eu a primeiro contato com a plataforma é bem assustador. São muitas as informações na tela e isso me deixou um pouco confuso no início. Eu recomendo fortemente ter algum tipo de orientação no início pois para mim foi bem comum me perder entre comandos e janelas.

O que eu considero um ponto positivo é que, passado o susto inicial, a criação de objetos e campos é bem completa. Todas as informações são bem detalhadas na tela não gerando dúvida durante a sua criação.





O que ainda não me acostumei são com as regras de validação. Apesar da tela de criação das regras são bem completas, rótulos grandes acabam dificultando a criação de regras, e sempre quando eu compilo uma regra aparece algum tipo de erro (ainda não estou acostumado com essas regras).



Minha conclusão é que apesar das dificuldades iniciais a plataforma é muito completa e acredito que seja possível desenvolver aplicações robustas mesmo para usuários comuns. Vou continuar estudando mais sobre essa plataforma e se tudo correr bem no futuro escrevo um novo artigo sobre a plataforma.

Caso você tenha curiosidade em estudar como é o desenvolvimento de aplicativos utilizando esta plataforma, basta de cadastrar nesse link!

Referencias:

https://www.salesforce.com/

https://pt.wikipedia.org/wiki/Salesforce.com

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

Udacity - Ensino Superior Barato, Envolvente e Altamente Eficaz para o Mundo

Ainda escrevendo um pouco sobre programação e outros assuntos que me interessam (e espero que interessem também aos leitores desse artigo), soube através de um ex-colega de trabalho sobre a Udacity. 

Esse colega estava interessado em aprender sobre programação e desenvolvimento de apps e em suas pesquisas sobre o assunto acabou descobrindo a Udacity.

Para evitar comentários maldosos já deixo aqui que toda a fonte desse artigo está disponível on-line, e minha principal fonte para obter essas informações foi a wikipedia (link: https://pt.wikipedia.org/wiki/Udacity)

A Udacity é uma organização com fins-lucrativos fundada por Sebastian Thrun, David Stavens, e Mike Sokolsky. Nascido através de um programa experimental desenvolvido pela Universidade de Stanford, onde Sebastian Thrun e  Peter Norvig ofereciam uma disciplina on-line de "Introdução à Inteligencia Artificial" gratuitamente, e para qualquer pessoa, sem a necessidade de ser um aluno universitário. O projeto foi tão bem sucedido que mais de 160 mil alunos em mais de 190 países já realizaram o curso. 

A Udacity é classificada na modalidade MOOC (Massive Open Online Course) cuja missão é tornar o ensino superior acessível à qualquer pessoa. Todos os cursos são disponíveis gratuitamente on-line, porém são oferecidos alguns créditos universitários (horas aula) pagos, mas a um valor mais baixo do que quando considerado o custo de uma aula presencial. Como consta na própria missão da empresa: “o ensino superior é um direito humano básico, e nós procuramos capacitar nossos alunos para avançar sua educação e carreiras.” Hoje a empresa conta com cerca de 1 milhão de alunos na América do Norte, Europa, Brasil e Índia.

Udacity possui uma estrutura didática semelhante à plataformas como EdX, na qual as aulas filmadas são apresentadas em sessões curtas no formato expositivo utilizando uma lousa branca, e com legendas em inglês; além disso, são apresentando conjuntamente pequenos 'quizzes' ao longo do vídeo para que os conceitos e conteúdo recentemente apresentados aos alunos sejam retidos de maneira mais eficiente no decorrer do curso; também existem atividades extras que precisam ser realizadas dentro um prazo estabelecido pelo curso; caso seja de interesse do aluno, também é possível baixar localmente o conteúdo apresentado para estudo off-line. Para atividades que envolvam algum nível de programação, faz-se necessário o uso da linguagem Python, na qual os scripts implementados são executados e avaliados nos servidores da plataforma. As descrições do curso, tutores e ementa ficam disponíveis nas páginas iniciais de cada uma das disciplinas disponibilizadas na plataforma. Quando o curso é finalizado pelo estudante, estes recebem um certificado apresentando o seu nível de cumprimento com as atividades como um todo, assinado pelos instrutores responsáveis, na qual não há qualquer tipo de cobrança extra necessária. No entanto, a emissão de certificados gratuitos está sendo encerrada gradativamente. Em agosto de 2012, uma parceria com uma companhia de testes em componentes eletrônicos chamada Pearson VUE, estudantes do curso "Introduction to Computer Science: Building a Search Engine", do tutor David Evans, podem realizar um exame final supervisionado por uma taxa de $89 dólares, em um esforço para que as turmas emergentes consigam certificações oficiais necessárias para que sejam devidamente reconhecidas por empregadores. 

Inicialmente, o prazo para a inscrição em um determinado curso na plataforma era aceito até o prazo final de entrega da primeira atividade no formato "homeworks"; após isto, o acesso era restringido para os usuários; no entanto, a partir de Agosto de 2012, os cursos passaram a ter um acompanhamento aberto, na qual o estudante pode se inscrever a qualquer momento após o curso ter sido iniciado; todas as vídeo-aulas e problemas(quizzes) apresentados estarão disponíveis para serem assistidos e realizados como o estudante desejar.

Um progresso para os alunos ingressantes ocorreu no campus principal da Universidade do Estado do Colorado (CSU), na qual a mesma começou a aceitar oficialmente a transferência de créditos da turma "Introduction to Computer Science", desde que os estudantes tenham finalizado o curso através do exame supervisionado.Também está ocorrendo a parceria com a Georgia Institute of Technology, juntamente com a AT&T, para haver a oferta de cursos no decorrer das titulações de Mestrado em Ciências da Computação ofertados pela instituição, fazendo com que seja lançado a primeira graduação na modalidade MOOC (Massive Open Online Courses); tal titulação custa cerca de $7.000 dólares aos estudantes.

Udacity contou com alunos de 203 países, no verão de 2012, o maior número de estudantes nos Estados Unidos (42 por cento), Índia (7 por cento), Grã-Bretanha (5 por cento) e Alemanha (4 por cento). Os alunos possuem de 13 a 80 anos.  Crianças de 13 anos crianças são capazes de completar múltiplos cursos de nível superior em Ciência da Computação na Udacity.

Fontes:


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!

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!

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!


Espero que esse tutorial ajude muito vocês!

Abraços e até o próximo vídeo!


Olá pessoal, tudo bem?

Bem vindos ao meu novo blog!


Meu nome é Luis Daniel e já fui proprietário do blog Vida de Gregário (www.vidadegregario.blogspot.com). Hoje o blog não existe mais pois acabei desistindo de postar. O tema daquele blog era sobre ciclismo de estrada e estava difícil conseguir conteúdo único, uma vez que existem muitos blogs sobre esse tema e com conteúdo muito superior ao que eu costumava desenvolver.

Eu sou engenheiro civil, porém tenho grande interesse sobre programação, em especial o desenvolvimento de automação em planilhas eletrônicas e softwares de engenharia para auxiliar a minha rotina. Também tenho grande interesse por empreendedorismo e alta performance.

Não quero deixar de lado nesse blog de mencionar sobre os meus hobbies e outras atividades que desenvolvo! Meu objetivo aqui é, além de dar dicas e opiniões sobre softwares e tecnologia, falar um pouco sobre meus hobbies e a minha vida!


Espero que vocês gostem do conteúdo que pretendo desenvolver!

Abraços a todos!