Separare le macro secondo il numero del foglio

Salve a tutti. Ho uno strano problema che non so come risolvere. Sui rispettivi 3 o più fogli di lavoro (adesso ho semplificato),all’interno dei codici macro di tutte e 3 i fogli denominati “Module1” e “Module2”,con la dicitura “Foglio1” si rende operativo solo il Foglio 1. Provando a scrivere “Foglio2” o “Foglio3” la macro smette di funzionare sul Foglio 1 e agisce a quel punto solo col Foglio 2 o 3 a seconda di quello che uno ha inserito. Avrei bisogno invece che ogni foglio potesse essere per così dire…indipendente e lavorare per conto suo. In pratica : quando agisco sul Foglio 1,il codice interno deve rimanere con la dicitura “Foglio1”. Passando sul Foglio 2,esso deve rimanere con la dicitura “Foglio2” e così via. E’ scontato sottolineare come sia assurdo e senza senso dover sostituire il testo della macro ogni volta che si cambia foglio. Spero di avere espresso bene il concetto. Allego file

2 luglio.ods (97.5 KB)

Include un MENU per attivare la macro.
2 luglio_GS.ods (99.1 KB)

Sub AggiungiAscoltatoreVariazioneCelleBO3BO63
Doc = ThisComponent
'Foglio = Doc.GetSheets.GetByName("Foglio1")
Foglio = ThisComponent.getCurrentController().getActiveSheet()
CelleDaAscoltare = Foglio.getCellRangeByName("BO3:BO63")	'Range di celle da ascoltare
Ascoltatore = CreateUnoListener("BO3BO63_","com.sun.star.chart.XChartDataChangeEventListener")
CelleDaAscoltare.addChartDataChangeEventListener(Ascoltatore)  	'Aggiungo l'ascolto variazione al range impostato
End Sub


Sub BO3BO63_chartDataChanged
Rem Macro che sarà richiamata automaticamente dall'ascoltatore al variare del range in esso impostato
Doc = ThisComponent
'Foglio = Doc.GetSheets.GetByName("Foglio1")
Foglio = ThisComponent.getCurrentController().getActiveSheet()
For Riga = 2 to 62
CellaBOx = Foglio.getCellByPosition(66,Riga).Value	'0=ColonnaA 66=ColonnaBO
If CellaBOx <> 0 Then
CellaBPx = Foglio.getCellByPosition(67,Riga).Value	'0=ColonnaA 67=ColonnaBP
Foglio.getCellByPosition(67,Riga).Value = CellaBOx + CellaBPx


End If
Next
End Sub

2 luglio_GS2.ods (98.9 KB)

Ciao,grazie per la risposta. Attivando la macro dal menù principale,essa comunque mi si attiva solo sulla colonna BO (infatti è scritto BO3BO63) mentre la colonna BR non funziona. Potresti per favore aggiungermi sul menù anche la colonna BR in modo da rendere operativa pure questa colonna ? Andando tra l’altro su : “Strumenti/personalizza/menu/tutti i comandi/comandi disponibili”,qual’è la voce che hai sostituito inserendo poi : AggiungiAscoltatoreVariazioneCelleBO3BO63 ?
Se mi spieghi la procedura. Grazie

Ho provato. Cambiando foglio funziona,grazie

1 Like