Foto de Andrew L.
Andrew há 3 anos
Enviada pelo
Site

Execução de macro no excel.

Executar a macro do excel a partir de uma célula específica, sem ter q clicar nela antes de executar a macro.
Exemplo: Possuo uma planilha com dados os quais serao copiados de uma linha para outra por meio de uma macro.

ID    NOME   CPF   RG   ( botao de execução da macro)

 

Como executar a macro sempre a partir da celula ID, sem ter que selecionar ela antes de clicar no botao de execução da macro.

 

Direito assessor jurídico
2 respostas
Professor Gutemberg S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 3 anos
Contatar Gutemberg

Olá! Andrew, temos o evento a nível de planilha chamado selectchange que, quando o usuário clciar na célula ele ativa.

Att,

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta

Envie sua pergunta

Professora Ana M.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 9 meses
Contatar Ana Maria

Para executar uma macro no Excel a partir de uma célula específica, sem ter que selecionar essa célula manualmente antes de clicar no botão de execução, você pode usar o VBA (Visual Basic for Applications) para programar a macro de forma que ela "sabia" onde deve começar a execução, independentemente da célula selecionada no momento.

Aqui está como você pode fazer isso:

1. Criar a macro

Primeiro, você precisa criar a macro que será executada. No seu caso, você mencionou que deseja copiar os dados de uma linha para outra. A macro poderia ser algo assim:

Sub CopiarDados()
    Dim linha As Long
    ' Definir a linha de início como a linha da célula ID
    linha = Range("A2").Row  ' Considerando que A2 é a célula da linha com o ID

    ' Exemplo de cópia de dados de uma linha para outra
    Rows(linha).Copy
    Rows(linha + 1).PasteSpecial Paste:=xlPasteValues
End Sub

2. Vincular a macro a um botão

Agora, vincule a macro a um botão para que ela seja executada sem precisar selecionar a célula previamente.

  1. Na sua planilha, insira um botão (vá até Desenvolvedor > Inserir > Botão (controle de formulário)).
  2. Clique no botão, e será aberta uma janela para vincular a macro. Escolha a macro CopiarDados.

3. Definir o comportamento da célula de início

No exemplo acima, a macro começa a execução a partir da célula A2 (onde o "ID" está). Assim, independentemente de onde você estiver na planilha ao clicar no botão, ela sempre começará a copiar os dados da linha 2 (ou qualquer linha definida no código). A linha pode ser ajustada para qualquer célula de sua escolha.

4. Personalizar para outras células

Se você quiser que a execução da macro sempre inicie de uma célula específica, como a célula de ID (por exemplo, a célula A2), apenas altere Range("A2") para a célula que você deseja usar como referência inicial. A linha no código é o que vai garantir o local de partida.

Exemplo de código para garantir que sempre a célula ID seja a de referência:

Sub CopiarDados()
    ' Definir a linha de início a partir da célula de ID
    Dim linha As Long
    linha = Range("A2").Row  ' Aqui, você define que A2 é a célula de referência

    ' Copiar os dados da linha específica
    Rows(linha).Copy
    Rows(linha + 1).PasteSpecial Paste:=xlPasteValues
End Sub

Resumo:

Dessa forma, ao clicar no botão, a macro será executada a partir da linha correspondente à célula A2 (ou qualquer célula de sua escolha), sem necessidade de selecionar a célula previamente.

Essa abordagem pode ser ajustada conforme necessário para outras ações, como copiar diferentes dados ou realizar outras operações na célula ou linha de referência.

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta

Aprenda do seu jeito, no seu ritmo

Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App
Escaneie o QR Code para baixar