Código que procurar valor numa coluna e repete valor abaixo  [Resolvido]

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Código que procurar valor numa coluna e repete valor abaixo

Mensagempor Belan_ » Qui Jan 18, 2018 8:35 pm

Pessoal, boa noite

Estou trabalhando em um material que é um log de um equipamento, que vem em txt e é diário, porém ja consegui desenvolver a macro para juntar todos os dias do ano todo em um unico arquivo, fazendo papel de banco de dados (enorme). Basicamente o log são todas as funções que são acionadas pelo painel do equipamento.

No desenvolvimento do trabalho, eu me deparei com um problema:

To tentando desenvolver um código que ele vai procurar na coluna b "equipamentos" um valor preenchido, e ao encontrar, vai repetir esse valor em todas as celulas vazias abaixo(so se for vazia) ate encontrar um novo valor, e assim que encontrar um novo valor, repetir novamente esse novo valor em todas as celulas vazias abaixo.. e assim sucessivamente.

Código: Selecionar todos
Sub repetirvaloresnascelulasabaixo()


Dim x As Long

i = (Cells(Rows.Count, 1).End(xlUp).Row)

For x = 1 To i Step 1

    If ThisWorkbook.Worksheets("BD").Cells(x, 2).Value = "" Then
    x = x + 1
    Else
    ThisWorkbook.Worksheets("BD").Cells(x + 1, 2).Value = ThisWorkbook.Worksheets("BD").Cells(i, 2).Value
    End If
Next

End Sub


exemplo na planilha anexo.
alguém consegue me ajudar?

obrigado
Você não está autorizado a ver ou baixar esse anexo.
Belan_
Membro
Membro
 
Mensagens: 30
Registrado em: Ter Nov 03, 2015 10:13 am
Has thanked: 11 times
Have thanks: 1 time

{ SO_SELECT }

Re: Código que procurar valor numa coluna e repete valor aba

Mensagempor Patropi » Qui Jan 18, 2018 9:10 pm

Boa noite Belan_

Nem precisa de macro, dá para fazer isso facilmente.
Acesse o tutorial abaixo:

https://usuariosdoexcel.wordpress.com/2 ... os-vazios/

[]s
Patropi /Moderador
Se a resposta foi útil, clique na mãozinha ao lado da ferramenta Citar.

For this post the author Patropi thanked:
Belan_ (Sex Jan 19, 2018 8:00 pm)
Avatar do usuário
Patropi
Ninja do Excel
Ninja do Excel
 
Mensagens: 8567
Registrado em: Sáb Jun 05, 2010 4:36 pm
Localização: Campo Mourão - PR
Has thanked: 210 times
Have thanks: 3364 times

Re: Código que procurar valor numa coluna e repete valor aba  [Resolvido]

Mensagempor Spanta » Qui Jan 18, 2018 10:40 pm

Olá Belan,

Segue o código, os comentários explicam como funciona

Deixei anexo a planilha com o VBA pronto

Código: Selecionar todos
Sub repetirvaloresnascelulasabaixo()


Dim x As Long
Dim strValorAtual As String

i = (Cells(Rows.Count, 1).End(xlUp).Row)

'Default
strValorAtual = ""

'Inicia da linha 2, pois a linha é cabeçalho
For x = 2 To i Step 1

    'Se a célula estiver vazia então preenche
    ' com o conteúdo da varíavel
    If ThisWorkbook.Worksheets("BD").Cells(x, 2).Value = "" Then
   
        'Preenche com o conteúdo da variável
        ThisWorkbook.Worksheets("BD").Cells(x, 2).Value = strValorAtual
       
    ElseIf strValorAtual <> ThisWorkbook.Worksheets("BD").Cells(x, 2).Value Then
       
        'Se mudou o valor então atualiza
        strValorAtual = ThisWorkbook.Worksheets("BD").Cells(x, 2).Value
       
    End If


Next

MsgBox "Finalizado com sucesso."

End Sub
Você não está autorizado a ver ou baixar esse anexo.

For this post the author Spanta thanked:
Belan_ (Sex Jan 19, 2018 8:00 pm)
Spanta
Membro
Membro
 
Mensagens: 32
Registrado em: Seg Jun 13, 2016 11:28 pm
Has thanked: 0 time
Have thanks: 11 times

Re: Código que procurar valor numa coluna e repete valor aba

Mensagempor Mauro Coutinho » Sex Jan 19, 2018 8:26 am

Aproveitando a dica do Patropi, se ainda quiser utilizar macro, segue mais uma opção.

Código: Selecionar todos
Sub repetirvaloresnascelulasabaixo_Mauro()
    Dim sRg As Range
    Dim ultLinha
   
    ultLinha = (Cells(Rows.Count, 1).End(xlUp).Row)
   
    Set sRg = Range("B1:B" & ultLinha)
   
        With sRg
            .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
            .Copy
            .PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                    :=False, Transpose:=False
        End With
       
    Application.CutCopyMode = False
   
End Sub


[]s
Mauro Coutinho - Moderador
São José dos Pinhais-Pr


Se a resposta foi últil para você, por gentileza, clique na mãozinha ao lado direito da sua tela. No canto superior.

For this post the author Mauro Coutinho thanked:
Belan_ (Sex Jan 19, 2018 8:00 pm)
Avatar do usuário
Mauro Coutinho
Ninja do Excel
Ninja do Excel
 
Mensagens: 3934
Registrado em: Sex Mar 26, 2010 9:24 pm
Localização: São José dos Pinhais - Pr
Has thanked: 181 times
Have thanks: 1447 times

Re: Código que procurar valor numa coluna e repete valor aba

Mensagempor Belan_ » Sex Jan 19, 2018 8:03 pm

Galera, muito obrigado pela ajuda.

Utilizei a macro desenvolvida pelo Spanta, rodou direitinho e era isso que queria mesmo. Semanalmente rodarei a mesma para completar o BD.

Patropi, não consegui entrar no seu link. =(

Mauro, muito obrigado pela ajuda também.

Até a próxima galera!
abraço
Belan_
Membro
Membro
 
Mensagens: 30
Registrado em: Ter Nov 03, 2015 10:13 am
Has thanked: 11 times
Have thanks: 1 time


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante