Mensagens

A mostrar mensagens com a etiqueta VBA

Excel - VBA DropDown List

Imagem
Excel - VBA DropDown List As listas pendentes que dependem de um conjunto de valores, por si só são um elemento "interactivo" mas com o VBA podemos dar-lhes mais potência. Tendo uma série de tabelas com os elementos de cada contorno de referência podemos chamar desde uma DropDown List uma lista de nomes de contornos. E sem mais detalhes, a seleção da lista ficaria a activa na célula. No entanto com a adição do código VBA ao evento "Change", podemos copiar os dados da tabela previamente construída com coordenadas de cada contorno, para uma zona fixa de uma folha, onde o Excel vai ler os dados para construir o gráfico do contorno. Ou seja o gráfico do contorno muda automaticamente com a seleção do nome do contorno.

Excel - VBA Checkbox

Imagem
Excel - VBA Checkbox Um pequeno código inicial de VBA pode ser um ponto de partida para algo mais complexo. As CheckBoxes Servem para activar ou desactiva uma função. O Excel pode desenhar as ditas de duas maneiras, com a inserção de uma CheckBox, ou um componente de um Form. Com o Form temos a vantagem de poder associar uma acção, um código. Após a inserção da CheckBox num espaço, ficamos com o seguinte aspecto: Ao clicar na CheckBox, desperta um evento, uma acção. No código exemplificativo envio a mensagem: E de seguida permite simular a desactivação de algumas células, no caso abaixo a cor do texto passa a cinza: O código é relativamente simples: Se há uma mudança no estado do CheckBox inicia o bloco de código. Esta programação, ou código pode estar embutida na folha a que diz respeito, caso seja algo específico desta folha, como faz sentido para algo relacionado com um CheckBox que "vive" nessa folha, Sheet. Não se visualiza no explorador seguinte, mas está na selecção da...

Excel - Executar programas externos

Imagem
Excel - Executar programas externos O Excel tem a linguagem de programação VBA, qual seria o propósito de executar um programa externo ao Excel desde o próprio Excel? Uma resposta interessante poderia ser proteger o código, e usufruir de todas as potencialidades por exemplo de uma linguagem e ecossistema como o CSharp. Com um uso prático em vista, posso desde o Excel criar um botão que se associa a uma macro. Esta macro não faz mais que executar o programa externo que num exemplo poderia ler o próprio ficheiro de Excel e montar ficheiros para o ISPOL ou CAD. Ficheiros como o seguinte, podem ser assim obtidos directamente desde o ambiente Excel. Com o VBA (Visual Basic for Applications) não podemos usufruir de todas as potencialidades de uma linguagem como o CSharp. Muita coisa pode ser feita em VBA, mas é mais uma linguagem variante, BASIC, dispersando o conhecimento e saber fazer.  Exemplo de macro a implementar no Excel Sub cmd_test() Dim cmd As String Dim ret As Double  cmd...

TXT para XLSX com programação

Imagem
TXT para XLSX com programação Quando há algum trabalho de repetição a realizar, entra em cena a possibilidade de o realizar através de alguma rotina de programação. Numa das recentes tarefas era necessário transformar vários ficheiros de resultados do ISPOL, de tipo texto, com a típica extensão RES em ficheiros de Excel para apresentação ao cliente. Há várias abordagens possíveis, desde logo importar dento do Excel cada ficheiro, passar o texto separado por espaços para colunas... um trabalho repetitivo que pede programação. A transformação seria algo deste tipo: Os ficheiros de ISPOL são ficheiros de texto, neste caso encolunados, portanto fáceis de "separar" em programação. A minha primeira abordagem foi o VBA. Com umas fontes da Net consegui fazer o algoritmo para seleccionar todos os ficheiros de uma pasta, com determinada extensão e transformá-los em ficheiros de Excel. Uma velha linguagem. Há quem diga que está em vias de extinção já que nos Office 360 não se aplica, e ...

Excel VBA e Office Scripts

Imagem
Excel VBA e Office Scripts Muita gente usa Macros em Excel, com as versões na nuvem do Excel há que mudar de paradigma. O velho VBA (Visual Basic for Applications) é uma linguagem de programação usada em grande parte no Excel, mas também é usada no Word e outros produtos do Microsoft Office. Com a chegada das versões Web do Office, muitas das Macros usadas por anos deixaram de funcionar. A tendência vai no sentido de o pacote da Microsoft funcionar em exclusivo na Web, penso eu. Sendo assim daqui a um par de anos o VBA (Macros) está condenado. O Office Scripts permite gravar acções, tal como o VBA - Macros. Ainda está numa fase de refinamento, mas tem já muitas potencialidades, não sei quais porque não uso o Office 365, e ultimamente para efeitos de comparação, não tenho usado muito as Macros do Excel. Para um leigo o seguinte código retirado de um exemplo proporcionado no site da Microsoft : Pode ser igual a um VBA, mas não é, como mostra no topo da imagem, é Typscript, um superset do...

Opções de Interação com o CAD (Programação)

Imagem
Quase desde sempre, os utilizadores avançados do CAD e em especial do produto da Autodesk, procuraram formas de agilizar algumas tarefas, introduzir dados, modificações, etc... Uma das formas mais antigas de o fazer é através de um Lisp. Mas não é a única. Nas actuais versões de CAD podemos encontrar um menu semelhante ao seguinte:  É uma das formas de carregar ficheiros que possam atender ao descrito anteriormente. A primeira opção de "Load Application" leva-nos à abertura (por exemplo) do velho Lisp, ou Autolisp como é apelidado um Lisp para tarefas de CAD. É uma linguagem bastante antiga, que permite realizar alguma interacção com o utilizador, bem como desenhar: A opção seguinte de "Run Script" abre a janela para carregar um ficheiro *.scr são ficheiros estáticos, com ordens de desenho. Por exemplo desenha uma linha de x a y ... entre outras possibilidades. MAs sem interacção com o utilizador. Bastante útil para desenhos que sejam o produto de operações feitas c...

#Python para substituir #Excel?

 #Python para substituir #Excel? Em que situações será mais vantajoso usar o Python face ao Excel? E também já há rumores que a #Microsoft pode dar suporte à linguagem Python no Excel. Sendo o Excel uma ferramenta generalista, que pode fazer de tudo um pouco, no entanto podem-se encontrar limitações quando a quantidade de #dados é enorme, ou na aplicação de #fórmulas e filtros complexos. Com o Python pode realizar operações com grandes quantidades de dados, ser independente do #software e da plataforma. Claro que tem como revés a aprendizagem de uma linguagem de programação, caso já saiba #VBA não é tão “grave”. Vantagens de cada um: Com o VBA tem a possibilidade de manejar as aplicações da Microsoft (e um pouco do #Libreoffice …), não precisa de compilar nem instalar novos softwares. Com o VBA pode ir mais além do que lhe oferecem as fórmulas. Com o Python, vai dispor de rapidez, necessita de aprender a linguagem. E claro pode aplicar depois e mais áreas que não o Excel. Achou int...

Apagar todos os comentários no Excel

Como apagar os comentários de uma folha ou livro Excel? Um é fácil, mas todos? É necessário ter conhecimentos de VBA. How to delete Excel comments, from a whorksheet or workbook? One is easy, but all? It´s necessary know VBA. VBA: Delete comments from a worksheet. Sub Remove_All_Comments_From_Worksheet()   Cells.ClearComments End Sub VBA: Delete all comments from the whole workbook Sub DeleteAllComments()   For Each xWs In Application.ActiveWorkbook.Sheets     For Each xComment In xWs.Comments         xComment.Delete     Next   Next End Sub https://www.extendoffice.com/documents/excel/1744-excel-remove-all-comments.html

Programa para gestão de stock

Imagem
Um programita para auxiliar a gestão dos stocks de loja, em excel. Gestão stock

Listagem Obras Arte -> Quadro

Imagem
Uma pequena programação em VBA, transforma a listagem do ISPOL de "Estruturas" num quadro de Obras de Arte e/ou Túneis. Mais amigável que a listagem em bruto do ISPOL. Listagem ISPOL para Quadro

Tabela parâmetros dinâmicos

Imagem
Cálculo de parâmetros dinâmicos, com várias normas e tipos de linha... Excel com macros... Em desenvolvimento como sempre... Tabela

Novo Blogue

Imagem
Novo bloque. Pretende-se colocar assuntos relacionados com programação em VBA; VB .net; Lisp ... Pode ser também um local de discussão sobre o software para traçado de vias ISPOL ISTRAM. Ainda se poderá falar de Topografia. Portugal e arredores.