Pagina 1 di 1

[Risolto] Separare le macro secondo il numero del foglio

Inviato: domenica 2 luglio 2023, 17:55
da Westham
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

Re: Separare le macro secondo il numero del foglio

Inviato: lunedì 3 luglio 2023, 6:40
da patel
Puoi utilizzare una sola macro se trovi il foglio attivo con

Codice: Seleziona tutto

Doc = thiscomponent  
ActiveSheet = Doc.currentcontroller.getActiveSheet()

Re: Separare le macro secondo il numero del foglio

Inviato: lunedì 3 luglio 2023, 11:41
da Westham
Ciao. Scusa,non ho capito in che parte della mia macro va inserito il tuo codice aggiuntivo

Re: Separare le macro secondo il numero del foglio

Inviato: lunedì 3 luglio 2023, 16:30
da patel
Purtroppo non ho capito bene qual'è il tuo obiettivo, speravo che il mio suggerimento ti potesse essere di aiuto.
Il titolo mi sembra che non vada d'accordo con le tue considerazioni finali.

Re: Separare le macro secondo il numero del foglio

Inviato: domenica 9 luglio 2023, 11:39
da unlucky83
Dove tu usi

Codice: Seleziona tutto

Doc = ThisComponent
Foglio = Doc.GetSheets.GetByName("Foglio1")
devi mettere

Codice: Seleziona tutto

Doc = thiscomponent  
Foglio = Doc.currentcontroller.getActiveSheet()
In questo modo il codice si fa "intelligente" e invece di operare sempre e solo sul foglio chiamato "Foglio1", opera su foglio che è attualmente attivo all'esecuzione della macro.

Re: Separare le macro secondo il numero del foglio

Inviato: mercoledì 12 luglio 2023, 20:24
da Westham
Ok,grazie mille Unlucky. Molto gentile