Bom dia xandrinho
Eu tive um problema parecido.
Para resolver utilizei um método que não sei se será viável para você.
Eu tenho os Usuários 01, 02, 03, 04 e 05.
Quando algum usuário tenta abrir o arquivo base tem o código abaixo.
' Abrindo Planilha BASE.
Workbooks.Open Filename:= _
"G:FISCALConferencia Livro - SolConferência em AndamentoBase.xlsm"
' Ao abrir o arquivo, o Excel verifica se na célula B2 da Aba Inicio, contém "XXXX".
Dim EncontraString As String
Dim Intervalo As Range
EncontraString = "XXXX"
If Trim(EncontraString) <> "" Then
With Sheets("Inicio").Range("B2:B3")
Set Intervalo = .Find(What:=EncontraString, _
After:=.Cells(1), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)
If Not Intervalo Is Nothing Then
Application.Goto Intervalo, False
' Se o Excel localizar "XXXX" informará que a BASE está em uso e finaliza MACRO sem terminas as rotinas.
MsgBox "ERRO" & vbCrLf & "Não será possível a importação" & vbCrLf & "Base está sendo utilizada por outro usuário!" & vbCrLf & "Tentar novamente mais tarde."
ActiveWindow.Close
Else
' Não Localizando "XXXX" conforme citado acima, irá atualizar os dados.
' No Arquivo BASE, na Aba Inicio será digitado "XXXX" e salva a planilha para que, se outro usuário tentar acessar a BASE o Excel não permita.
Sheets("Inicio").Select
Range("B2").Select
ActiveCell.FormulaR1C1 = "XXXX"
ActiveWorkbook.Save
' Macro da BASE.
Application.Run "Base.xlsm!M01_XMLNFE"
End
E ao fechar o arquivo base com Workbook_BeforeClose eu deleto o XXXX.
Aqui funcionou, mas cada usuário tem a sua planilha onde eles importam/exportam os dados do arquivo base.
E eu não sei quase nada de VBA, tudo que utilizo são códigos que acho na rede e adapto a minha necessidade, e esse acima está atendendo
MPrudencio embora o windows informe que o arquivo está sendo utilizado, no meu caso, eu abro o arquivo base e executo algumas macros, mesmo abrindo somente como leitura as macros serão executadas mas as alterações não serão salvas por ser arquivo somente para leitura.
_______________________________________________________________________________________________
Carlos Santos
* Marque o tópico como Resolvido se foi solucionado seu problema.
Postado : 28/12/2015 5:17 am