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
#185
Vou tentar explicar passo a passo.

A linha abaixo verifica quantas linhas existem preenchidas na coluna 6 da Plan1
Código: Selecionar todos
ultimacelula = Plan1.Cells(Rows.Count, 6).End(xlUp).Row
Nesta linha eu defino o objeto Rng como todos os dados da Coluna "F" da Plan2
Código: Selecionar todos
Set Rng = Plan2.Range("F:F") ' Coluna de Cotas
A linha acima poderia ser substituída, por exemplo, pela linha abaixo:
Código: Selecionar todos
Set Rng = Plan2.Columns(6) ' Coluna de Cotas
Esta linha pode ser excluída, aproveitei o código do Alexandre e esqueci de apagar :lol: :lol:
Código: Selecionar todos
lin = 2
Aqui eu determino um loop que vai da linha 2 até a ultima linha encontrada (ultimacelula)
Código: Selecionar todos
For i = 2 To ultimacelula

Esta linha serve para caso ele dê um erro, não pare o código, e prossiga para a próxima linha do código.
Código: Selecionar todos
    On Error Resume Next
Utilizo a função CORRESP (Match) para verificar qual a posição da cota, na coluna F (Rng)
Código: Selecionar todos
indice = Application.WorksheetFunction.Match(Plan1.Cells(i, 6), Rng, 0)
Caso na linha anterior, ao procurar o código der um erro (Err > 0), ele limpa o erro, e não faz mais nada
Código: Selecionar todos
    If Err > 0 Then
        'valor não encontrado
        Err.Clear
Caso não seja um erro, ele transfere os dados, onde i é a linha que estou na Plan1 (ver loop For acima) e índice é a linha que encontrei a cota usando a função Match (ver acima também)
Código: Selecionar todos
    Else
        'tranfere os dados
        Plan1.Cells(i, 2) = Plan2.Cells(indice, 2)
        Plan1.Cells(i, 3) = Plan2.Cells(indice, 3)
        Plan1.Cells(i, 7) = Plan2.Cells(indice, 7)
        Plan1.Cells(i, 8) = Plan2.Cells(indice, 8)
        Plan1.Cells(i, 9) = Plan2.Cells(indice, 9)
   End If

Mando verificar a próxima linha da planilha.
Código: Selecionar todos
Next
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord