Como fazer uma macro rodar em apenas uma planilha?

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