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.
Por marialaurachs
#68463
Pessoal, bom dia. 

Tenho uma planilha com várias colunas, cada um se refere a um dado, que precisa ser atualizada diariamente com dados de uma base.

Não ocupo todos os dados dessa base, portanto o copia e cola não se cabe aqui, tem que ser procv. 

O PROCV na macro até consegui fazer, o problema é a questão da data. A cada dia, esses dados deverão ser colados na linha de baixo, e para isso, eu precisaria atualizar a macro mensalmente, por exemplo, com a referência da célula em que o dado deve ser colocado. 

Me informaram que é possível que isso seja feito automaticamente, sem que eu precise estar atualizando o local da célula a ser colocada a informação, com o "for" e "loop".

Alguem sabe me informar como fazer isso?

Sub vbaProcv()
    Dim data As Integer
    Dim resultado_procv As Variant
    Dim resultado_procv2 As Variant
    Dim resultado_procv3 As Variant

    data = Sheets("Base").Range("A366").Value
    resultado_procv = Application.VLookup(data, Sheets("Planilha1").Range("B3:CQ24"), 82, False)
    resultado_procv2 = Application.VLookup(data, Sheets("Planilha1").Range("B3:CQ24"), 87, False)
    resultado_procv3 = Application.VLookup(data, Sheets("Planilha1").Range("B3:CQ24"), 7, False)
    Sheets("Base").Range("H366").Value = resultado_procv
    Sheets("Base").Range("J366").Value = resultado_procv2
    Sheets("Base").Range("K366").Value = resultado_procv3

End Sub

o código atual é esse, cada resultavo_procv é um tipo de informação (na verdade são 15 colunas, inseri apenas 3). Eu busco pela data na outra planilha, e o que eu quero evitar é precisar fazer diversos códigos para cada dia. (para cada seriam 15 procv , no dia 1 seriam colocados nas celulas H366, J366, K366, etc.. para o dia 2 teria que inserir na H367, J367, K367, e assim sucessivamente. gostaria de automatizar essa parte).

Alguem sabe ajudar?

OBRIGADA
Por osvaldomp
#68464
Olá, @marialaurachs .

Não estou certo se entendi corretamente.
Faça testes com o código abaixo, sff.
Código: Selecionar todos
Sub vbaProcv()
 Dim data As Long, LR As Long
 Dim resultado_procv As Variant
 Dim resultado_procv2 As Variant
 Dim resultado_procv3 As Variant

  With Sheets("Base")
   LR = .Cells(Rows.Count, 1).End(3).Row
   data = .Range("A" & LR).Value
   resultado_procv = Application.VLookup(data, Sheets("Planilha1").Range("B3:CQ24"), 82, False)
   resultado_procv2 = Application.VLookup(data, Sheets("Planilha1").Range("B3:CQ24"), 87, False)
   resultado_procv3 = Application.VLookup(data, Sheets("Planilha1").Range("B3:CQ24"), 7, False)
   .Range("H" & LR).Value = resultado_procv
   .Range("J" & LR).Value = resultado_procv2
   .Range("K" & LR).Value = resultado_procv3
  End With
End Sub
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