Tenho uma pasta de trabalho com várias planilhas e para cada planilha tem que ser rodado uma macro diferente, acontece que se um usuário estiver em uma planilha e pedir para rodar a macro de outra planilha, bagunça tudo a planilha em que ele está.
Existe alguma forma de fazer a macro rodar em apenas uma planilha específica e não na planilha atual em que o usuário está?
Sub RodarPlanilhaEspecifica
Dim oSheet as Object Dim oDoc as Object oDoc = ThisComponent oSheet = oDoc.Sheets.GetByName ("SuaPlanilha") REM a partir daqui coloque sua macro End Sub
Muito obrigado pela atenção Conrado, mas infelizmente já é assim como você disse.
Veja abaixo como é o início da minha macro.
Sub Gerar_Compras
Dim oSheet as Object
Dim oDoc as Object
oDoc = ThisComponent
oSheet = oDoc.Sheets.getByName( "Compras" )
' Deproteger a planilha sem senha
oSheet.Unprotect( "conf" )
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
Teria alguma outra dica?
.
Todas as suas macros tem as mesmas variáveis? Já tentou mudar elas? Exemplo:
oSheet1 = Plan1
oSheet2 = Plan2
etc