Atualizar planilha definindo uma variável

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
joseso
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sáb Out 21, 2017 6:42 am

Atualizar planilha definindo uma variável

Mensagem por joseso » Sáb Out 21, 2017 9:52 am

Bom dia Pessoal,
Sou novo por aqui e também com códigos VBA. Estou tentando resolver um problema e necessito da ajuda de vocês.
Tenho 2 arquivos (pastas). Uma planilha "Historico Geral" que é um banco de dados que estão sempre inserindo dados nela, e preciso de uma macro que copie toda linha para outra planilha "Historico Copia", quando esses dados (que eu escolher), forem salvos no "Historico Geral".
Ou seja, quando um "Produto A" for salvo na "Historico Geral", ao clicar no botão Atualizar, todas linhas, sejam atualizadas na planilha "Historico Copia"

Encontrei na web um codigo que é exatamente o que procurava porem com algumas modificações.
Nesse código é copiado certas colunas, porém quero copiar toda linha.

Código: Selecionar todos

Sub Atualização_copia()

' Atualiza somente o filtro que foi determinado na macro


Dim WC As Workbook
Dim WH As Workbook
Dim WCC As Worksheet
Dim WHH As Worksheet
Dim WHLinha As Long
Dim WCLinha As Long


Application.DisplayAlerts = False


Set WC = Workbooks("Historico Copia.xlsm")
Set WCC = Sheets("Plan1")
'Abre o arquivo historico
      
    'WCC.Range("c3:D" & Rows.Count).ClearContents

    ChDir "C:" 'Informe a unidade onde esta o arquivo historico
  
   Workbooks.Open Filename:="C:\Historico das analises\Historico Geral.xlsx"
   
Set WH = Workbooks("Historico Geral.xlsx")
Set WHH = Sheets("Historico")
    WHLinha = 9
  
    'Inicia a atualização dos dados
  
    Do While WHH.Cells(WHLinha, 2).Value <> ""
  
    WCLinha = WCC.Range("C" & Rows.Count).End(xlUp).Offset(1, 0).Row
  
    If WHH.Cells(WHLinha, 14).Value = "Produto A" _
    Or WHH.Cells(WHLinha, 14).Value = "Produto B" Then
   
    
    WHLinha = WHLinha + 1
  
    Else
  
    WHLinha = WHLinha + 1
  
    End If
  
    Loop
  
  
    WH.Save
    WH.Close
    WC.Save
  
MsgBox "Dados Atualizados com Sucesso", vbOKOnly, "Dados Atualizados"

Application.DisplayAlerts = True

End Sub


Nesse código especifiquei que atualizasse "Produto A" e "Produto B", mas não consegui que fosse toda a linha.

Se possível, junto com o código eu queria que:
Ao atingir um numero de 1500 linhas na planilha "Historico Copia", automaticamente as primeiras que haviam sido salvas fossem excluidas da planilha, ficando sempre as mais recentes e mantendo sempre 1500 linhas. Não sei se é possível, caso contrario ficaria muito satisfeito somente com a atualização.
Anexos
Atualizar_historico.rar
Atualização Historico
(83.42 KiB) Baixado 8 vezes



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


joseso
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sáb Out 21, 2017 6:42 am

Re: Atualizar planilha definindo uma variável

Mensagem por joseso » Dom Out 22, 2017 7:18 pm

Pessoal, alguém que possa me ajudar no meu caso?



Responder