Preencher espaços em uma coluna com valores.

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

Preencher espaços em uma coluna com valores.

Mensagempor hhansen » Qua Abr 17, 2019 9:11 am

Bom dia,
Tenho uma planilha que meu sistema extrai automaticamente, só tem um problema.
Os produtos tem diversas embalagens mas ele nao repete o nome do produto em todos as linhas das embalagens apenas na primeira.

Preciso de um codigo que preencha automaticamente as linhas em branco.

Exemplo.
Antes
Imagem

DEPOIS

Imagem
hhansen
Membro
Membro
 
Mensagens: 18
Registrado em: Dom Set 11, 2016 5:51 pm
Has thanked: 4 times
Have thanks: 0 time

{ SO_SELECT }

Re: Preencher espaços em uma coluna com valores.

Mensagempor wagner » Qua Abr 17, 2019 4:32 pm

hhansen,

Boa tarde!

Anexe seu arquivo exemplo aqui no fórum compactado com .ZIP.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 5349
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 94 times
Have thanks: 2277 times

Re: Preencher espaços em uma coluna com valores.

Mensagempor hhansen » Qua Mai 15, 2019 4:49 pm

Boa tarde, segue a planilha.
hhansen
Membro
Membro
 
Mensagens: 18
Registrado em: Dom Set 11, 2016 5:51 pm
Has thanked: 4 times
Have thanks: 0 time

Re: Preencher espaços em uma coluna com valores.

Mensagempor srobles » Qua Mai 15, 2019 5:49 pm

hhansen,

Veja se a rotina abaixo atende sua necessidade.
Código: Selecionar todos
Sub preencheProdutos()

    With ThisWorkbook
        With .Sheets(1)
            Dim priLinha, ultLinha As Long
            Dim infoLote As String
           
            priLinha = 5
            ultLinha = .Cells(Rows.Count, 1).End(xlUp).Row
           
            While priLinha <= ultLinha
                If .Cells(priLinha, 3) = Empty Or .Cells(priLinha, 3) = vbNullString Then
                    infoLote = CStr(.Cells(priLinha, 4))
                    If infoLote <> "" And infoLote <> "Validade" Then
                        .Cells(priLinha, 1) = .Cells(priLinha - 1, 1)
                        .Cells(priLinha, 3) = .Cells(priLinha - 1, 3)
                    Else
                        If infoLote = "Validade" Or infoLote = "" Then
                            .Cells(priLinha, 1).EntireRow.Delete
                            priLinha = priLinha
                        Else
                            priLinha = priLinha + 1
                        End If
                    End If
                Else
                    priLinha = priLinha + 1
                End If
                ultLinha = .Cells(Rows.Count, 1).End(xlUp).Row
            Wend
        End With
    End With
End Sub

Espero ter ajudado.

Abs
Saulo Robles

Remember when you were young?
You shone like the sun.
Shine On You Crazy Diamond
srobles
Membro
Membro
 
Mensagens: 256
Registrado em: Sáb Mai 09, 2015 10:35 pm
Has thanked: 83 times
Have thanks: 105 times


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Google Adsense [Bot], rlm e 9 visitantes