Ir para conteúdo
Fórum Script Brasil
  • 0

Auto preenchimento de fórmulas com uma condição


wbrito

Pergunta

Olá pessoal, tudo bem

 

Sou novo no mundo do VBA e neste fórum.

 

Eu gostaria de pedir uma ajuda de vocês, claro se puderem.

 

Criei um código que deveria fazer o seguinte procedimento

  1. Detectar a ultima linha ativa da coluna “A” da minha planilha;
  2. Ainda nesta linha, deslocar o cursor até a coluna “Y”;
  3. Entrar em um Loop de Do While até a linha 13 em que:
    1. Vai estabelecer uma IF e verificar linha por linha da coluna “Y” se a condição “z” é Verdadeira ou Falsa. Sendo falsa ela sobe uma linha para  a próxima analise. Sendo verdadeira:

                                                               i.      Ainda na mesma linha o cursor irá selecionar o intervalo da coluna 34 até 36 e irá fazer um Selection.FillRight, para expandir as fórmulas e formatação, ;

                                                             ii.      Depois a mesma coisa entre as colunas 39 até 41;

                                                           iii.      Depois a mesma coisa entre as colunas 44 até 46;

                                                           iv.      Depois a mesma coisa entre as colunas 49 até 51;

  1. Entra no Loop Terminando o procedimento na linha 13.

 

Eu fiz essa macro, mas não entendo por que não está Funcionando. Será que alguém consegue me ajudar?

 

Obs: Eu tentei enviar a planilha no Forum, mas o mesmo não permite a extensão xlsm. Caso queiram a planilha para analisar, me avisem como eu devo proceder.

 

 

Sub teste_Do_While()

 

 

Dim W As Worksheet

 

Set W = Sheets("Sheet1")

 

Dim UltCel As Integer

 

 

 

W.Select

 

UltCel = W.Range("A1048576").End(xlUp).Select

 

 

Do While ActiveCell.Row >= 13

 

 

 

   

 

            If Cells(UltCel, 21).Value = "z" Then

                         

           

           

 

            Range(Cells(UltCel, 34), Cells(UltCel, 36)).Select

            Selection.FillRight

            Range(Cells(UltCel, 39), Cells(UltCel, 41)).Select

            Selection.FillRight

            Range(Cells(UltCel, 44), Cells(UltCel, 46)).Select

            Selection.FillRight

            Range(Cells(UltCel, 49), Cells(UltCel, 51)).Select

            Selection.FillRight

           

            End If

           

            ActiveCell.Offset(-1, 0).Select

           

        ' será excluída linha por linha.  (Cells(linha, 1)= coluna A, Cells(linha, 36) = "AJ"

       

                                

    Loop

 

 

 

End Sub

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...