Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Davide,
Norman:
Dato che il tuo file sia usato anche da altri utenti, vorrei fare due suggerimenti sussidiari:
- Lascia la riga dei totali, se utile, in fondo alla tabella e aggiungi un pulsante, allegato as una routine VBA, per inserire una o più righe al fondo della tabella;
Davide:
No posso togliere la riga dei totali, sono cose che ho aggiunto io al mio foglio di lavoro, di solito I miei colleghi non sono cosi interessati in excel come lo sono io, sono io che sono curioso e cerco di automatizzare il tutto anche per rendere il lavoro piu interessante e divertente.
Norman:
Sfrutta una procedura VBA per rispondere automaticamente a qualsiasi modifica della tabella e verificare che la formattazione condizionale sia corretta.
Se un approccio del genere fosse di interesse, potrei postare un codice appropriato
Davide:
Mi farebbe molto piacere ma io non conosco, ahime', il vba, e mi piacerebbe tantissimo . Capisco qualcosa se lo leggo ma non sono in grado di creare nulla .
Ad ogni modo se vuoi posta pure.
Prova qualcosa del genere:
- Fai clic dx sulla linguetta del foglio di interesse
- Seleziona l'opzione Visualizza Codice dal **** menu contestuale risultante
- Incolla il seguente codice:
'=========>>
Option Explicit
'--------->>
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, Rng2 As Range, rCell As Range
Const SNomeTabella As String = "Table1" '<<=== Modfifica
Set Rng = Me.Range(SNomeTabella)
If Not Intersect(Rng, Target) Is Nothing Then
Application.ScreenUpdating = False
On Error GoTo XIT
Set Rng2 = Selection
Set rCell = ActiveCell
Call FormatTable(Rng)
End If
Rng2.Select
rCell.Activate
XIT:
Application.ScreenUpdating = True
End Sub
'<<=========
- Alt+IM per inserire un nuovo modulo di codice
- Nel nuovo modulo vuoto, incolla il seguente codice:
'=========>>
Option Explicit
'--------->>
Public Sub FormatTable(Rng As Range)
Const sFormulaFC As String = _
"=IF($B$2<>"""",SEARCH($B$2,$A5&$B5" _
& "&$C5&$D5&$E5&$F5&$G5" _
& "&$H5&$I5&$J5&$K5&$L5&$M5&$N5),"""")"
Rng.Select
With Rng.FormatConditions
.Delete
.Add Type:=xlExpression, Formula1:=sFormulaFC
With .Item(1)
.SetFirstPriority
With .Font
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
With .Interior
.PatternColorIndex = xlAutomatic
.Color = 15773696
.TintAndShade = 0
End With
.StopIfTrue = False
End With
End With
End Sub
'<<=========
- Alt+Q per chiudere l'editor di VBA e tornare a Excel
- Salva il file con l’estensione xlsm
Con questo codice ad ogni modifica o aggiunta alla tabella Table1, La sua formattazione condizionale verrà annullata automaticamente e la formattazione condizionale prevista verrà applicata alla tabella modificata.
Potresti scaricare il mio file di prova Davide20170606.xlsm
Grazie per il benvenuto ma credo che ci fossimo gia incontrati tempo fa (banjer71) , ieri ho creato questo profile con la mail di lavoro....ho fatto in po di confusione :D
Allora, bentornato Davide!
Per chiudere questo thread, vorrei chiederti gentilmente di contrassegnare la mia risposta come Risposta preferita. In questo modo, tu aiuterai anche coloro che potessero cercare soluzioni ai problemi simili negli archivi della Community.
Alla prossima!
===
Regards,
Norman