Fechar planilha e a...
 
Notifications
Clear all

Fechar planilha e abrir outra com o mesmo nome

2 Posts
2 Usuários
0 Likes
563 Visualizações
 jcfp
(@jcfp)
Posts: 15
Eminent Member
Topic starter
 

Bom dia a todos! Estou passando por um problema aqui na minha empresa, algumas pessoas copiam uma planilha oficial para editar em suas áreas de trabalho. Eu já consegui fazer o MsgBox para avisar que o arquivo copiado não é o oficial, afinal o oficial quase todos os dias recebe melhorias. Porém eu gostaria de colocar uma opção sugerindo para abrir o arquivo oficial ao invés da cópia, mas não consigo fazer o Excel fechar o primeiro arquivo (cópia) e abrir o segundo (oficial), pois eles possuem exatamente o mesmo nome. Será que é possível fazer isso com o VBA? 

 
Postado : 18/07/2023 7:43 am
nelsonst
(@nelsonst)
Posts: 38
Eminent Member
 

Boa tarde !!!

bem.. fiz em dois modos , o embutido... que é o local do arquivo original esta direto no código vba

e o digital.. onde o local do arquivo vc digital em uma celula !!!

CÓDIGO - LOCAL EMBUTIDO

Private Sub Workbook_Open()
Dim originalPath As String
originalPath = "\\Server\servidor\oficialatualizado- Caminho ebutido.xlsm"

' Obtém o caminho completo do arquivo atual
Dim currentFilePath As String
currentFilePath = ThisWorkbook.FullName

' Compara o caminho do arquivo atual com o original
If currentFilePath <> originalPath Then
MsgBox "Informações Desatualizadas !" & " Este parece ser uma CÓPIA do arquivo original." & _
" Recomenda-se abrir o arquivo original em: " & originalPath, vbInformation
Else
MsgBox "Arquivo Original ! Dados Atualizados !", vbInformation
End If
End Sub

CÓDIGO - LOCAL DIGITADO

Private Sub Workbook_Open()
' Obtém o caminho original do arquivo de uma célula
Dim originalPath As String
originalPath = ThisWorkbook.Sheets("caminho").Range("D2").Value ' Ajuste "caminho" para o nome da sua planilha

' Verifica se a célula D2 está vazia
If originalPath = "" Then
MsgBox "A célula D2 está vazia. Por favor, insira o caminho do arquivo original.", vbCritical
Exit Sub
End If

' Verifica se o caminho do arquivo é válido
If Dir(originalPath) = "" Then
MsgBox "O caminho do arquivo na célula D2 na planilha 'Caminho' não é válido. Por favor, corrija.", vbCritical
Exit Sub
End If

' Obtém o caminho completo do arquivo atual
Dim currentFilePath As String
currentFilePath = ThisWorkbook.FullName

' Compara o caminho do arquivo atual com o original
If currentFilePath <> originalPath Then
MsgBox "Informações Desatualizadas !" & " Este parece ser uma CÓPIA do arquivo original." & _
" Recomenda-se abrir o arquivo original em: " & originalPath, vbInformation
Else
MsgBox "Arquivo Original ! Dados Atualizados !", vbInformation
End If
End Sub

Coloquei os avisos para arquivo original e arquivo cópia !!

Em anexo.. dois arquivos exemplos !!

 

Este post foi modificado 9 meses atrás por nelsonst
 
Postado : 01/08/2023 4:08 pm