Criação de Macros

Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1085
Registado: 26 fev 2009, 18:21
Has thanked: 5 times
Been thanked: 3 times

Criação de Macros

Mensagem por Electro 99 »

Amigos,


Nas Macros para que serve o UCASE?



Abraço,

Electro 99
bacalhau
Aprendiz
Aprendiz
Mensagens: 156
Registado: 08 abr 2008, 20:35

Re: Criação de Macros

Mensagem por bacalhau »

Electro 99 Escreveu:Amigos,


Nas Macros para que serve o UCASE?



Abraço,

Electro 99
Olá ,
É uma função do VBScript

dou um exemplo:

Dim forum
forum="este forum é muito bom"
document.write(UCase(forum))
Output:
ESTE FORUM É MUITO BOM

ou seja a string "forum" passa a ter o conteudo="este forum é muito bom" esta string foi convertida numa uppercase
ESTE FORUM É MUITO BOM


Chau
Bacalhau (pascoal)
Última edição por bacalhau em 28 fev 2010, 16:03, editado 1 vez no total.
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1085
Registado: 26 fev 2009, 18:21
Has thanked: 5 times
Been thanked: 3 times

Re: Criação de Macros

Mensagem por Electro 99 »

bacalhau Escreveu:
Electro 99 Escreveu:Amigos,


Nas Macros para que serve o UCASE?



Abraço,

Electro 99
Olá ,
É uma função do VBScript

dou um exemplo:

Dim forum
forum="este forum é muito bom"
document.write(UCase(forum))
Output:
este forum é muito bom

ou seja a string "forum" passa a ter o conteudo="este forum é muito bom" esta string foi convertida numa uppercase


Chau
Bacalhau (pascoal)
Descobro que o UCASE converte minusculas em maiusculas.
bacalhau
Aprendiz
Aprendiz
Mensagens: 156
Registado: 08 abr 2008, 20:35

Re: Criação de Macros

Mensagem por bacalhau »

É isso correto.
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1085
Registado: 26 fev 2009, 18:21
Has thanked: 5 times
Been thanked: 3 times

Re: Criação de Macros

Mensagem por Electro 99 »

Criei algum código no editor de Visual Basic do Excel.

O problema é que, quando o código quando corre a folha fica piscar constantemente e não deixa introduzir dados.

Fico com a impressão que o ciclo for que introduzi está sempre a repetir.... o que posso fazer para resolver isto?
nokPT
Velha Guarda
Velha Guarda
Mensagens: 228
Registado: 26 set 2008, 22:45
Been thanked: 2 times

Re: Criação de Macros

Mensagem por nokPT »

Pode ser um erro no código ou na forma que estás a chamar a macro.

Dá mais dados...
Ricardo Timóteo
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1085
Registado: 26 fev 2009, 18:21
Has thanked: 5 times
Been thanked: 3 times

Re: Criação de Macros

Mensagem por Electro 99 »

nokPT Escreveu:Pode ser um erro no código ou na forma que estás a chamar a macro.

Dá mais dados...
O ficheiro em causa está em anexo...
1MAR2010.xlsm
(20.86 KiB) Transferido 126 vezes
nokPT
Velha Guarda
Velha Guarda
Mensagens: 228
Registado: 26 set 2008, 22:45
Been thanked: 2 times

Re: Criação de Macros

Mensagem por nokPT »

Está tudo bem, está tudo a funcionar como programado.

Da maneira que fizeste, sempre que mudas de célula (com o rato ou com o teclado) o excel corre a Macro, se só mudares 1 vez de célula corre 1 vez, de mudares várias vezes, corre várias vezes seguidas, mas no final pára à espera que mudes outra vez de célula.

Efectivamente, como está o trabalho torna-se pouco produtivo.

Soluções:
Meter a macro a correr apenas a partir de um botão, por exemplo (anexo ficheiro com essa alteração)
Meter parte da macro em fórmulas, por exemplo o cálculo do pun e do ptot, não necessita de estar na macro, pode ser uma fórmula simples de somar na respectiva célula.
Podes ainda, se se aplicar verificar de a quantidade (ou outro valor) da próxima linha é zero, fazer EXIT FOR, para terminar o ciclo.
Podes ainda reduzir o número de linhas a ser alteradas (para um valor mais próximo da tua necessidade) e se achares necessário, incluir mais uma célula a sinalizar que a linha foi calculada
Anexos
1MA2010Rev1.xlsm
(22.65 KiB) Transferido 126 vezes
Ricardo Timóteo
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1085
Registado: 26 fev 2009, 18:21
Has thanked: 5 times
Been thanked: 3 times

Re: Criação de Macros

Mensagem por Electro 99 »

nokPT Escreveu:Está tudo bem, está tudo a funcionar como programado.

Da maneira que fizeste, sempre que mudas de célula (com o rato ou com o teclado) o excel corre a Macro, se só mudares 1 vez de célula corre 1 vez, de mudares várias vezes, corre várias vezes seguidas, mas no final pára à espera que mudes outra vez de célula.

Efectivamente, como está o trabalho torna-se pouco produtivo.

Soluções:
Meter a macro a correr apenas a partir de um botão, por exemplo (anexo ficheiro com essa alteração)
Meter parte da macro em fórmulas, por exemplo o cálculo do pun e do ptot, não necessita de estar na macro, pode ser uma fórmula simples de somar na respectiva célula.
Podes ainda, se se aplicar verificar de a quantidade (ou outro valor) da próxima linha é zero, fazer EXIT FOR, para terminar o ciclo.
Podes ainda reduzir o número de linhas a ser alteradas (para um valor mais próximo da tua necessidade) e se achares necessário, incluir mais uma célula a sinalizar que a linha foi calculada
Boas dicas nokPT.

Só mais algumas questões:

Agora que a Macro está criada, como fazes para criar teclas de atalho para fazer correr a macro de imediato?

Como fazes para colocar ckeck box no lugar de "x" para o caso das exclusões?

Abraço,

Electro 99
nokPT
Velha Guarda
Velha Guarda
Mensagens: 228
Registado: 26 set 2008, 22:45
Been thanked: 2 times

Re: Criação de Macros

Mensagem por nokPT »

Electro 99 Escreveu: ...
Agora que a Macro está criada, como fazes para criar teclas de atalho para fazer correr a macro de imediato?
...
Não faço ideia, procura no google...
Electro 99 Escreveu: ...
Como fazes para colocar ckeck box no lugar de "x" para o caso das exclusões?
...
Eu deixava estar na mesma com um "x" na célula, é mais fácil de editar/meter dados porque só usas o teclado...
Ricardo Timóteo
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1085
Registado: 26 fev 2009, 18:21
Has thanked: 5 times
Been thanked: 3 times

Re: Criação de Macros

Mensagem por Electro 99 »

nokPT Escreveu:
Electro 99 Escreveu: ...
Agora que a Macro está criada, como fazes para criar teclas de atalho para fazer correr a macro de imediato?
...
Não faço ideia, procura no google...
Electro 99 Escreveu: ...
Como fazes para colocar ckeck box no lugar de "x" para o caso das exclusões?
...
Eu deixava estar na mesma com um "x" na célula, é mais fácil de editar/meter dados porque só usas o teclado...
Sim, eu também concordo com o que dizes.

O problema é se, por engano, coloco outra letra, dá-me erro. Se pusesse a check box, era capaz de ser accionada independentemente da tecla que accionasse....
nokPT
Velha Guarda
Velha Guarda
Mensagens: 228
Registado: 26 set 2008, 22:45
Been thanked: 2 times

Re: Criação de Macros

Mensagem por nokPT »

Não compares com x, compara com "",sou seja, verificas se tem algum carácter (qualquer tipo: letra, nº, símbolo, etc...)
Ricardo Timóteo
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1085
Registado: 26 fev 2009, 18:21
Has thanked: 5 times
Been thanked: 3 times

Re: Criação de Macros

Mensagem por Electro 99 »

Eu verifico que, se colocar o código em VB a actualização é imediata enquanto que no caso das macros, a actualização só acontece quando corremos a macro.

À primeira vista, agrada-me mais pôr o código em VB, pois não preciso de me preocupar me fazer correr macro o que evita problemas no caso de me esquecer fazer a actualização.


No entanto, a macro torma a aplicação mais leve....
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1085
Registado: 26 fev 2009, 18:21
Has thanked: 5 times
Been thanked: 3 times

Re: Criação de Macros

Mensagem por Electro 99 »

nokPT Escreveu:Não compares com x, compara com "",sou seja, verificas se tem algum carácter (qualquer tipo: letra, nº, símbolo, etc...)
Mas, se eu comparar com "" vai excluir todos os elementos, tendo em conta que nos que não são para excluir, a célula de exclusão fica vazia.
Electro 99
Velha Guarda
Velha Guarda
Mensagens: 1085
Registado: 26 fev 2009, 18:21
Has thanked: 5 times
Been thanked: 3 times

Re: Criação de Macros

Mensagem por Electro 99 »

Electro 99 Escreveu:
nokPT Escreveu:Não compares com x, compara com "",sou seja, verificas se tem algum carácter (qualquer tipo: letra, nº, símbolo, etc...)
Mas, se eu comparar com "" vai excluir todos os elementos, tendo em conta que nos que não são para excluir, a célula de exclusão fica vazia.
Tenho uma outra dúvida:

Iaginemos que estou a criar código VB numa determinada folha de excel e em os inputs de uma determinada variável estão numa célula doutra folha do Excel.

Como facto? variavel = range(Folha1!B44), por exemplo?
Responder

Voltar para “Discussão Informática”