Macro per aiuto visualizzazioni in fogli excel

Davide78

New Member
Joined
Apr 20, 2023
Messages
17
Office Version
  1. 2019
Platform
  1. Windows
Salve, nel corso del tempo ho "collezionato" delle macro che agevolano la consultazione di file excel tramite la modifica dell'aspetto grafico di celle, righe, colonne correnti (non mi pare che nel frattempo excel sia stato aggionato con comandi simili).
Il problema di queste macro è principalmente quello che "sono sempre attive" invece io vorrei usarle solo quando mi servono, ma non conosco un sistema per accenderle e spegnerle, pensavo di fare una userform con un tasto per l'attivazione della macro che voglio usare, potrebbe essere una soluzione?
il secondo problema è che queste macro non sono inserite in appositi moduli, mi piacerebbe inserirle in uno o più moduli del file XPERSONAL.XLSB, e attivarle come sopra descritto nel file dove sto lavorando, è fattibile anche questo passaggio?

Allego link per scaricare alcuni dei fogli che contengono le macro che vorrei utilizzare (A,B,C,D) e un file dove vorrei provare a raccoglierle e attivarle quando serve

Ringrazio anticipatamente

p.s. Ho scaricato e installerò XL2BB, ma qual'è la maniera corretta per allegare dei file ai post?
 

Excel Facts

Move date out one month or year
Use =EDATE(A2,1) for one month later. Use EDATE(A2,12) for one year later.
Quelle che usi sono macro comandate da "eventi" (es Worksheet_SelectionChange), vanno nei moduli vba del "padre" dell'evento; quindi nel modulo del Foglio o nel modulo del workbook. Insomma non puoi metterli nel Personal (dove al massimo ci potrai mettere delle Sub o Function richiamate dal codice dell'evento; ma non vedo il vantaggio)
Se vuoi limitare l'area di applicabilita' del codice allora devi lavorare sui parametri che l'evento ti offre.
Ad esempio l'evento Worksheet_SelectionChange espone il parametro "Target As Range" che punta all'area selezionata. Quindi se vuoi limitare l'effetto alla sola colonna B userai una struttura del tipo
VBA Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
   '
   'Il tuo codice
   '
End If
End Sub

Se vuoi limitarlo a un'area:
VBA Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ckArea = "A3:C10"
If Not Application.Intersect(Range(ckArea), Target) Is Nothing Then
    '
    'il tuo codice
    '
End If
End Sub
Ovviamente le combinazioni sono piu' di due, questi sono esempi su come poter intercettare le azioni.
Devi anche prestare attenzione al comportamento in caso di selezione di aree estese; il file A_Cella attiva colorata e lista colori.xlsm, ad esempio, in caso di selezione di un'area salva il solo colore della cella 1,1 cosicche' alla fine eventuali colorazioni diverse vengono perdute

Una userform? Bah, teoricamente la userform ti puo' aiutare a impostare delle varibili pubbliche che poi possono abilitare /disabilitare gli effetti dell'evento; se il gioco vale la candela lo devi valuttare tu
 
Upvote 0
Solution
mmmh...mi sa proprio di no, se non possono stare dove avevo intenzione di metterli.
Grazie!
 
Upvote 0

Forum statistics

Threads
1,224,828
Messages
6,181,201
Members
453,022
Latest member
RobertV1609

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top