Macro - copiar e colar (do while)

Excel VBA em Excel

Boa tarde!

Me encontro em dúvida na seguinte situação:

Tenho um arquivo que possui uma base de sugestão de pedidos, essa sugestão vem através de uma formula, ou seja a coluna inteira (AO) possui fórmulas, celula a celula.

Preciso de uma macro onde eu consiga identificar celula por celula por exemplo AO1, AO2, AO3 quais possuem valores, se estiver "" pular para proxima, se identificar algum valor copiar e jogar para outro local da planilha e assim por diante até a ultima celula que não contenha formula alguma.

 

Alguem tem alguma sugestão?

Comecei a pensar em algo como abaixo porem ainda não consegui fazer o código funcional com a proposta inicial.

Sub movimentação()

    Set Rng = Range("AO12")
    
    Do While Rng.Value = ""
        
        Set Rng = Rng.Offset(1, 0)
        
        Do While Rng.Value <> ""
            Rng.Offset(0, 2).Value = Worksheets("Preenchimento").Range("C" & linha)
            
            Set Rng = Rng.Offset(1, 0)
            
            Loop
    Loop

End Sub

Foto de Henrique F.
Henrique perguntou há 1 ano

Sabe a resposta?

Ganhe 10 pts por resposta de qualidade
Responder dúvida
2 respostas
1
votos
1 usuário votou nessa resposta como útil.
Professor André L.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano
Melhor resposta
Essa foi a melhor resposta, escolhida pelo autor da dúvida

Olá Henrique:

Tu podes utilizar o seguinte programa:

Sub procura()

 For i = 1 To 13
    If Cells(i, 41) <> "" Then Cells(i, 42) = Cells(i, 41)
 Next

End Sub

Ele fai rastriar 13 linhas da coluna AO (equivalente à coluna 41). Se o valor da célula da coluna não vor vazio, ele reproduz na coluna AP.

Esta é apenas a lógica, é só criar uma macro no EXCEL, preencher algumas células da coluna e rodar a macro.

Qualque dúvida é só perguntar.

Envie uma dúvida gratuitamente

Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.

0
votos
Nenhum usuário votou nessa resposta como útil.
Professor Scavy K.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 ano

Olá, tudo bem?

Primeiro você precisa encontrar o total de linhas preechidas, algo do tipo:

lastLIne = Worksheets("Plan1").Cells(Worksheets("Plan1").Rows.Count, "AO").End(xlUp).Row,"AO").End(xlUp).Row

Nesse caso debaixo para cima, isso depende de como estão modelados os dados na planilha, seria interessante postar a mesma.

Ai é só usar IF e o Offset combinado com While.

Qualquer coisa estou por aqui.

Professores particulares de Excel

+ Ver todos
Encontre professor particular para te ajudar nos estudos
R$ 80 / h
André L.
São Paulo / SP
André L.
5,0 (1 avaliação)
Horas de aulas particulares ministradas 2 horas de aula
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
VBA no Excel Introdução ao Excel Tabela Dinâmica
Doutorado: Tecnologia Nuclear - Aplicações (IPEN/USP - Instituto de Pesquisas Energéticas e Nucleares)
Professor com 30 anos de experiência e leciono disciplinas como física, cálculo e disciplinas na área de computação.
R$ 50 / h
Vilson B.
Ji-Paraná / RO
Vilson B.
5,0 (43 avaliações)
Horas de aulas particulares ministradas 100 horas de aula
Tarefas resolvidas 29 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
1ª hora grátis
Excel Intermediário Excel Avançado Excel Básico
Mestrado: Assessoria de Administração (Instituto Politécnico do Porto)
Conheça meu método inovador "excel mão na massa" que criei para ajudar quem precisa aprender rápido e sair na frente nas vagas de emprego e trabalho!
R$ 120 / h
Johny L.
Fortaleza / CE
Johny L.
4,3 (36 avaliações)
Horas de aulas particulares ministradas 97 horas de aula
Tarefas resolvidas 29 tarefas resolvidas
Identidade verificada
  • CPF verificado
  • E-mail verificado
Excel para Idosos Excel para Adolescentes Excel Intermediário
Graduação: Engenharia Civil (IFCE - Campus Fortaleza)
Professor da UFC - Aulas de estatística práticas e aplicadas ao mercado de trabalho além de acadêmico