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

Boa tarde! Solicito a sua ajuda, de acordo com o […]

Controles ActiveX Excel Mac

Pessoal, seguinte: Meu sistema não roda no[…]

Olá, sou novo aqui no fórum, tenho u[…]

Boa tarde. Estou precisando automatizar uma planil[…]

Em J52 ~~~> =ÍNDICE(C10:C40;CORRES[…]

Salvar PDF sem substituir o arquivo

Boa tarde pessoal, Queria uma ajuda para fazer um[…]

Assiduidade

Bom dia a tod@s, tenho uma tabela no formato que s[…]

Ficheiro mais atualizado