COMO CRIAR PLANILHA AUTOMATICAMENTE EXCEL

Anônima
2023-08-09T20:19:59+00:00

Oi. Preciso uma ajuda para fazer uma automaçao no Excel.

Eu tenho um Formulario que se sincroniza com um Excel Online. Eu abri um novo arquivo em Excel de Escritorio por causa de que Excel Online não aceita Macros. E sincronize a Tabela com meu arquivo Local. Daí Crie uma Planilha para modificar algumas columnas e especificar outros dados que precisava.

Eu preciso que cada vez que aparecer a palavra ENCERRAR numa celula da columna de Observaçoes. Meu documento Excel Cree uma nova Planilha e dentro dela copie os dados que se encontram encima da palavra de ENCERRAR até o proximo ENCERRAR que se encontra encima. E Assim por diante.

Microsoft 365 e Office | Excel | Para empresas | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Dio Xavier 290.3K Pontos de reputação Moderador Voluntário
2023-08-09T20:33:23+00:00

Olá

Bem vindo à Comunidade Microsoft 365 e Office

Tudo bem, Victor? Você pode realizar este processo no VBA seguindo os passos abaixo:

  1. Primeiro, você precisa habilitar a guia "Desenvolvedor" no Excel para acessar as ferramentas de programação. Vá para "Arquivo" -> "Opções" -> "Personalizar Faixa de Opções" e marca a opção "Desenvolvedor". Clica em "OK".
  2. Na guia "Desenvolvedor", clica em "Visual Basic" para abrir o Editor VBA, vá para "Inserir" -> "Módulo" para criar um novo módulo onde você escreverá o código, ou no caso "colar" o seguinte código no módulo:
Sub SepararPorEncerrar() <br> Dim ws As Worksheet <br> Dim newWs As Worksheet <br> Dim lastRow As Long <br> Dim i As Long <br> Dim startRow As Long <br> Dim endRow As Long <br> <br> ' Defina a planilha de origem <br> Set ws = ThisWorkbook.Sheets("NomeDaSuaPlanilha") <br> <br> ' Defina a primeira linha como ponto de partida <br> startRow = 2 <br> <br> ' Loop através das linhas da coluna de Observações <br> lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row ' Altere "C" para a coluna das Observações <br> For i = startRow To lastRow <br> If UCase(ws.Cells(i, "C").Value) = "ENCERRAR" Then ' Altere "C" para a coluna das Observações <br> ' Encontrou uma célula com "ENCERRAR" <br> endRow = i - 1 <br> <br> ' Criar uma nova planilha e copiar os dados <br> Set newWs = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) <br> ws.Rows(startRow & ":" & endRow).Copy newWs.Rows(1) <br> <br> ' Atualizar o ponto de partida <br> startRow = i + 1 <br> End If <br> Next i <br>End Sub <br> ---
      ***3.****Fecha o Editor VBA e volte para a planilha do Excel. Aperta "Alt" + "F8" para abrir a caixa de diálogo "Macro". Selecione "SepararPorEncerrar" na lista e clica em "Executar".*

Este código VBA irá percorrer a coluna de Observações em sua planilha, identificar as linhas onde a palavra "ENCERRAR" aparece e, em seguida, copiar os dados desde a linha anterior até a linha onde encontrou "ENCERRAR". Em seguida, criará uma nova planilha para cada conjunto de dados copiados.

Lembre-se de substituir "NomeDaSuaPlanilha" pelo nome real da sua planilha. Além disso, esteja ciente de que trabalhar com macros e código VBA requer algum conhecimento básico de programação e do ambiente do Excel. Sempre faça um backup do seu arquivo antes de executar macros para evitar a perda de dados.

Esta resposta foi útil?

3 pessoas acharam esta resposta útil.
0 comentários Sem comentários

1 resposta adicional

Classificar por: Mais útil
  1. Anônima
    2023-08-10T16:04:42+00:00

    Olá

    Bem vindo à Comunidade Microsoft 365 e Office

    Tudo bem, Victor? Você pode realizar este processo no VBA seguindo os passos abaixo:

    1. Primeiro, você precisa habilitar a guia "Desenvolvedor" no Excel para acessar as ferramentas de programação. Vá para "Arquivo" -> "Opções" -> "Personalizar Faixa de Opções" e marca a opção "Desenvolvedor". Clica em "OK".
    2. Na guia "Desenvolvedor", clica em "Visual Basic" para abrir o Editor VBA, vá para "Inserir" -> "Módulo" para criar um novo módulo onde você escreverá o código, ou no caso "colar" o seguinte código no módulo:
    Sub SepararPorEncerrar() <br>Dim ws As Worksheet <br>Dim newWs As Worksheet <br>Dim lastRow As Long <br>Dim i As Long <br>Dim startRow As Long <br>Dim endRow As Long <br> <br>' Defina a planilha de origem <br>Set ws = ThisWorkbook.Sheets("NomeDaSuaPlanilha") <br> <br>' Defina a primeira linha como ponto de partida <br>startRow = 2 <br> <br>' Loop através das linhas da coluna de Observações <br>lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row ' Altere "C" para a coluna das Observações <br>For i = startRow To lastRow <br>If UCase(ws.Cells(i, "C").Value) = "ENCERRAR" Then ' Altere "C" para a coluna das Observações <br>' Encontrou uma célula com "ENCERRAR" <br>endRow = i - 1 <br> <br>' Criar uma nova planilha e copiar os dados <br>Set newWs = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) <br>ws.Rows(startRow & ":" & endRow).Copy newWs.Rows(1) <br> <br>' Atualizar o ponto de partida <br>startRow = i + 1 <br>End If <br>Next i <br>End Sub <br> ---

    ***3.***Fecha o Editor VBA e volte para a planilha do Excel. Aperta "Alt" + "F8" para abrir a caixa de diálogo "Macro". Selecione "SepararPorEncerrar" na lista e clica em "Executar".

    Este código VBA irá percorrer a coluna de Observações em sua planilha, identificar as linhas onde a palavra "ENCERRAR" aparece e, em seguida, copiar os dados desde a linha anterior até a linha onde encontrou "ENCERRAR". Em seguida, criará uma nova planilha para cada conjunto de dados copiados.

    Lembre-se de substituir "NomeDaSuaPlanilha" pelo nome real da sua planilha. Além disso, esteja ciente de que trabalhar com macros e código VBA requer algum conhecimento básico de programação e do ambiente do Excel. Sempre faça um backup do seu arquivo antes de executar macros para evitar a perda de dados.

    Funciono o codigo de VBA. Somente que ele cria uma planilha para cada conjunto ENCERRAR que achar. Eu preciso que possa criar uma planilha com as ultimas palavras de ENCERRAR que achar desde a ultima linha da tabela ate a proxima que se encontra encima.

    Tambem queria se tem como copiar os dados junto com os encabezados da tabela como Nome, endereço etc...Muito Obrigado por sua ajuda

    Esta resposta foi útil?

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários