question

Criando botoes no Excel para executar a Macro?

Então, estou criando um sistema de rastreamento para trabalho no excel.

Eu criei a macro para executar, existem dois um (Macro1) que inicia o evento inicial (o objeto que está sendo enviado), salvá-lo na planilha.
Dois (Macro2) que eu quero chegar, quando o objeto é retornado.
Eu consegui criar um botão na planilha para solicitar Macro1 para abrir.
No entanto, para Macro2, quero um botão a ser gerado após a informação da Macro1 é inserida na planilha em uma célula ao lado da linha que a informação foi inserida no (ie. Macro1 insere informações de que é na linha 4, eu quero que o botão apareça na célula N4 após isso). O botão é iniciar Macro2. Isso é possível?

Se isto é possível, depois que a macro é executada, eu quero essa linha específica (no exemplo, linha 4) a mudança de cor com base nos botões de comando na macro. Mas eu quero que afetam somente esta linha. Um deve ficar verde, uma deve ficar vermelha. Precisarei de macros individuais para cada linha?

Obrigado por qualquer ajuda! :-)
resposta Resposta
Para começar, objetos (botões, etc) não residem 'em' células, mas flutuam acima da grade. Você pode dimensionar e posicionar o botão para aparecer como se realmente é na célula, mas não é.

O exemplo a seguir pressupõe que os botões são botões de controle de formulários chamados botão 1 e 2 de botão. Se os números de botão são diferentes, modifique a linha de código de exemplo conforme necessário.

Você deve colocar essa linha de código antes de 'End Sub' na Macro 1:

ActiveSheet. Shapes ("Button 2").Visible = True

Isto irá exibir o botão 2 na planilha.

2 Botão, em seguida, pode ser pressionada para executar a segunda macro.

Neste ponto, você fez 2 botão visível e chama a macro atribuída a ele. Agora o que? Você quer deixar o botão visível? Se assim for, você está pronto para ir. Se não, então você pode querer colocar essa linha no final da macro 2:

ActiveSheet. Shapes ("Button 2").Visible = False

No que diz respeito a atualizar a cor de preenchimento da linha (s), o vermelho e o verde se aplicará para linhas diferentes com base em entrada do usuário ou o resultado de condições sendo satisfeitas? Se assim, você precisará de limpar todas as cores de preenchimento antes de aplicar o verde e o vermelho cada vez. Caso contrário, sua planilha vai começar a encher com listras vermelhas e verdes. Claro, se é isso que você quer... nenhum problema.

Aqui é a linha de código que iria encher a linha 4 com vermelho:

ActiveSheet.Range("4:4").Interior. ColorIndex = 3

Para eliminar a cor de preenchimento na linha 4:

ActiveSheet.Range("4:4").Interior. ColorIndex = xlNone

Ou, para toda a planilha:

ActiveSheet.Cells.Interior. ColorIndex = xlNone

Para obter uma lista dos números de índice de cor:

Se você precisar de assistência adicional, por favor mande uma nota para excelhelp@comcast.net

ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved