Boa noite!
Sou bem iniciante em macros
Estou criando uma macro para atualizar dados de um cubo OLAP já criado, selecionar esse dados e colar em outra aba, mudando o nome da aba para a data do primeiro dia da planilha. Mas preciso que esses dados sejam atualizados e salvos numa aba diaramente, inclusive finais de semana e portanto preciso que fique um cronograma de atualizacao automatico. Para isso usei os codigos:
Private Sub Workbook_Open()
MsgBox ("Iniciando cronometro de atualização")
Call iniTimer
End Sub
Public Sub iniTimer()
Application.OnTime EarliestTime:=Time + TimeValue("00:00:30"), Procedure:="RefreshPivotTables"
End Sub
Public Sub RefreshPivotTables()
Application.OnTime EarliestTime:=Time + TimeValue("00:00:60"), Procedure:="Copy"
End Sub
Public Sub Copy()
Range("A5:D359").Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
ActiveSheet.Name = Range("B9").Value
Sheets("OTB").Select
Application.CutCopyMode = False
End Sub
Minha primeira duvida é que nesse formato a planilha executa o refreshpivot table mas não da sequência a dinamica de copiar e colar na outra aba, qual meu erro?! A minha segunda duvida é se nesse formato atual a planilha irá dar sequencia sempre a atualização ou somente quando o arquivo for re aberto novamente?! Preciso que a planilha atualize a cada 24hs sem necessidade de abrir o arquivo, o mesmo permanecerá aberto, preciso que no final da atualização e copy paste ele salve o arquivo e re inicie o cronometro para nova atualizacao na proxima vigesima quarta hora. Obrigado.
Postado : 27/01/2015 5:31 pm