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

Inserir linhas obedecendo um critério que está em outra aba no excel


Carina Silveira Pereira

Pergunta

Tenho um problema "cabeludo"

Possuo uma planilha com duas abas. Uma aba chama-se Conciliado e a outra chama-se Conciliar. Abaixo um exemplo da aba Conciliar. Com base na aba Conciliar (abaixo) o excel precisa realizar alguns comandos na outra aba chamada Conciliado.

image.png.592d4ac61ef7e715538332890b219c4f.png

Comandos:

1) Primeiro tem que verificar se existe o mesmo fornecedor na aba Conciliado. Exemplo: ter que ler o ID do fornecedor (que nesta tabela acima está na B1, ID 092135.

2) Se existir este ID na aba Conciliado, é necessário "contar"a quantidade de linhas necessárias à serem incluídas. Exemplo: utilizando a tabela acima como critério, será necessário incluir apenas uma linha, referente à um lançamento que ocorreu em 18/08/2020. Já para o outro fornecedor, se encontrar o ID 601377 será necessário incluir 5 linhas, pois houveram 5 lançamentos.

Na aba Conciliado ficaria assim:

image.png.710e7244f2a40e5d634c1c8e668453f3.png

 

Alguém me ajuda?

 

image.png

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Boa noite.

Vendo apenas a primeira questão eu fiz o seguinte código:


Public Sub CarinaSilveiraPereira()
Dim txtCategoria As String
Dim Contar As Long
Dim ulConciliado As Long
Dim x As Long
Dim xPos As Long

'Identificar o Id pelo caracter "-"
txtCategoria = ""
ulConciliado = Sheets("Conciliado").Cells(Rows.Count, "B").End(xlUp).Row
For x = 1 To ulConciliado Step 1
    xPos = InStr(Sheets("Conciliado").Cells(x, "B").Value, "-")
    If xPos > 0 Then
        'Lançar informações se um novo for encontrado
        If txtCategoria <> "" Then
            'Ainda vai ser escrito
            MsgBox Contar
        End If
        txtCategoria = Left(Sheets("Conciliado").Cells(x, "B").Value, xPos)
        txtCategoria = Replace(txtCategoria, " ", "")
        txtCategoria = Replace(txtCategoria, "-", "")
        Contar = 0
    ElseIf Sheets("Conciliado").Cells(x, "B").Value <> "" Then
        Contar = Contar + 1
    End If
    
Next x

'Lançar o ultimo
MsgBox Contar

End Sub

Olha se consegue testar o código.

Link para o comentário
Compartilhar em outros sites

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...