Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#72477
Boa tarde, pessoal.

Estou precisando de ajuda para corrigir o erro da macro da planilha anexa que serve para extrair partes do texto das células de uma coluna e inserir na Tabela "TB_Banco_de_Dados" (TABELA AZUL).

Em algumas linhas ela apresenta o resultado desejado e em outras não.

Poderiam me ajudar a verificar / corrigir o erro?

Na TABELA VERDE inseri manualmente o resultado esperado para a extração de dados para a TABELA AZUL.

Segue planilha anexa.
Você não está autorizado a ver ou baixar esse anexo.
Editado pela última vez por SandroLima em 20 Nov 2022 às 23:35, em um total de 1 vez.
#72487
Boa noite, Foxtri.

Excelente alternativa.... muito obrigado.

Outra alternativa que testei e que está dando certo e caso possa interessar a alguém:

Inseri um bloco:
Código: Selecionar todos
Do While...

Loop
e dentro dele pedi para calcular a posição dos espaços (" ") a cada mudança de linha.

Assim:
Código: Selecionar todos
Do While i <= Qtde_Oper
    
        With Plan_Origem
            Texto = Trim$(Cells(Lin, 2).Value)
            Pos_Espace1 = InStr(1, Texto, " ")
            Pos_Espace2 = InStr(Pos_Espace1 + 1, Texto, " ")
            Pos_Espace3 = InStr(Pos_Espace2 + 1, Texto, " ")
            Pos_Espace4 = InStr(Pos_Espace3 + 1, Texto, " ")
            Pos_Espace5 = InStr(Pos_Espace4 + 1, Texto, " ")
            Pos_Espace6 = InStr(Pos_Espace5 + 1, Texto, " ")
            Pos_Espace7 = InStr(Pos_Espace6 + 1, Texto, " ")
            Pos_Espace8 = InStr(Pos_Espace7 + 1, Texto, " ")
            Pos_Espace9 = InStr(Pos_Espace8 + 1, Texto, " ")
        End With
       
        With Tb_Destino
             str_Ativo = Mid$(Plan_Origem.Cells(Lin, 2).Value, Pos_Espace3, Pos_Espace6 - Pos_Espace3)
             .ListColumns("Ativo").DataBodyRange.Cells(1, 1).Value = str_Ativo
       End With
'Segue o restante da Macro
Muito obrigado novamente e tenha uma excelente semana!

=SE(MÊS(A1)&lt;7;&quot;1º sem&a[…]

Bom Dia Senhores. Tenho uma macro que preciso dei[…]

Free relationships without drama and obligations. […]

Girar Imagem e Zoom

Boa noite Teria alguma forma de dar um &quot;[…]

Valeu. Muito Obrigado!!!!!!!!

Pessoal, Ao clicar no botão Copiar (Guia C[…]

Procv com serro em vba

Resolvido

Bom dia, pessoal! com a data de nascimento e data […]

Estamos migrando para uma comunidade no Discord