Página 1 de 1
Windows.Activate
Enviado: 09 Abr 2020 às 15:24
por JulioMangilli
Olá Amigos
Estou tentando ativar uma planilha mas não estou conseguindo pelo método.
Depois de abrir a planilha eu tenho que entrar nela com o método windows("").Active..
Método que estou tentando
Windows(Sheets("Configuração").Range("E9")).Activate
Método que utilizo
Windows("Planilha.xlsm").Activate
Gostaria que fosse mais dinâmico que ele ativasse a planilha puxando o nome dela de uma Célula , teria como?
Re: Windows.Activate
Enviado: 09 Abr 2020 às 15:32
por babdallas
Re: Windows.Activate
Enviado: 09 Abr 2020 às 15:39
por babdallas
Se não der certo, anexe aqui o arquivo, por favor.
Windows.Activate
Enviado: 09 Abr 2020 às 15:55
por JulioMangilli
Segue modelo,
Na verdade essa planilha serve como um Backup, porem não tive tempo para criar um pequeno banco.
Mas isso já me ajuda bastante.
Re: Windows.Activate
Enviado: 16 Abr 2020 às 07:37
por JulioMangilli
Amigos alguma opinião de como eu poderia estar fazendo essa transferência de modo mais dinâmico?
Re: Windows.Activate
Enviado: 16 Abr 2020 às 07:52
por babdallas
Explica o que você deseja que o código faça, com detalhes.
Re: Windows.Activate
Enviado: 17 Abr 2020 às 08:59
por JulioMangilli
Então hoje eu transfiro essas informações de uma planilha para outra, ela fica como um backup digamos.
Porem na programação que eu tenho que faz "abrir a planilha" / "transferir os dados" / "fechar a planilha" tenho que colocar o caminho manualmente dentro da programação.
Por exemplo quando uso o windows ("caminho+nome+versão planilha").Active para ativar ela e transferir.
Eu gostaria que o caminho fosse atomizado puxando de uma range para caso eu queria mudar o nome eu não preciso abrir o vba e mudar a programação manualmente.
Até que você postou o Workbooks(Sheets("Configuração").Range("E9")).Activate
Porem eu não consegui fazer funcionar , teria como ?
Desde já agradeço por me ajudar amigo.
Re: Windows.Activate
Enviado: 17 Abr 2020 às 10:23
por babdallas
Veja se atende.
Código: Selecionar todosOption Explicit
Public Sub tranferirgeral()
Dim strBackup As String
Dim lngUltLin As Long
Dim lngUltCol As Long
Dim vrtDados As Variant
Dim wbkBackup As Workbook
Application.ScreenUpdating = False
With wshHist
strBackup = .Range("S2").Value2 'Caminho do arquivo de backup
lngUltLin = .Cells(.Rows.Count, 1).End(xlUp).Row '?ltima linha com dados
lngUltCol = .Cells(2, .Columns.Count).End(xlToLeft).Column '?ltima coluna com dados
vrtDados = .Range(.Cells(2, 1), .Cells(lngUltLin, lngUltCol)) 'Dados a serem transferidos
End With
Set wbkBackup = Workbooks.Open(strBackup) 'Abre o arquivo de backup
With wbkBackup.Worksheets("Hist?ricosEmpresas")
.Cells.ClearContents 'Limpa todo o conte?do anterior do backup
.Range(.Cells(2, 1), .Cells(lngUltLin, lngUltCol)) = vrtDados 'Copia os dados para o backup
wbkBackup.Close SaveChanges:=True 'Fecha o arquivo de backup
End With
Set wbkBackup = Nothing
Application.ScreenUpdating = True
VBA.MsgBox Prompt:="Dados transferidos com sucesso", Title:="Backup de dados"
End Sub
Windows.Activate
Enviado: 17 Abr 2020 às 13:29
por JulioMangilli
Atendeu super bem amigo, muito obrigado pela força.