| | Post: 79 | Registrato il: 04/03/2017
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
03/12/2021 18:57 | |
Ciao a tutti ! ringrazio vivamente per tutti gli aiuti ricevuti , e avrei la neccessita' di risolvere un piccolo problema:
allego solo una parte del file mio excel per semplificare.
In pratica in ax19 tramite menu a tendina posso scegliere se "mostra imp" oppure "nascondi imp", l'intento è quello che se seleziono "mostra imp" le celle k18:r19 devono rimanere testo nero come ora , se invece seleziono "nascondi Imp" devono assumere il colore dello sfondo della cella Azzurro cosi' da scomparire.
Ovviamente qui ho incollato una sola voce di capitolato, ovviamente puo' essere anche popolato di altre righe e l'iserimento di altre voci di capitolato.
se qualcuno che potesse aiutarmi ...
grazie
|
|
| | Post: 6.614 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
03/12/2021 19:12 | |
Ciao credo che la formattazione condizionale possa bastare
ecco il file, Ciao By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 79 | Registrato il: 04/03/2017
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
03/12/2021 19:21 | |
Ciao Salvatore grazie!!
anche io avevo provato con quella soluzione, ma come vedrai nel file che ti riallego se inserisco piu' voci, con quel tipo di formattazione condizionale mi rimane collegato anche per la seconda voce ax19, mentre per la voce 2 deve essere attiva ax35 e cosi' via se inserisco altre voci...
|
| | Post: 964 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
04/12/2021 08:20 | |
Salve a tutti
Nella FC relativa alla cella K34 non devi mettere la stessa formula inserita in K19 ma devi fare riferimento alla nuova cella, cioè
=$AX$34="Nascondi imp"
Il tutto se ho capito bene la tua esigenza.
Ciao,
Mario |
| | Post: 80 | Registrato il: 04/03/2017
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
04/12/2021 10:20 | |
Ciao Mario .. intanto grazie mille!!
,per capirci, io dovrei copiare e incollare tutta una serie di voci in base alle esigenze, e mi serve una alternativa per non inserire tutte le volte la formula manualmente ma che sia dinamica, o tramite vba.!
Grazie. [Modificato da fabrizio.ExcelForum 04/12/2021 10:20] |
| | Post: 6.616 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
04/12/2021 11:17 | |
Ciao, non avevo capito che ti serviva su più intervalli, a questo punto meglio ricorrere al VBA, eccoti la macro, la devi copiare nel modulo del foglio interessato.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, c, d
If Not Intersect(Target, [ax:ax]) Is Nothing Then
r = Target.Row: c = Target.Column: d = Target
If Target = "" Then Exit Sub
If Target = "Mostra imp" Then
Range(Cells(r - 1, 11), Cells(r, 18)).Font.Color = RGB(0, 0, 0)
Else
Range(Cells(r - 1, 11), Cells(r, 18)).Font.Color = RGB(217, 225, 242)
End If
End If
End Sub
ogni volta che modifichi la voce del menu a tendina avviene la variazione.
Ciao By Sal (8-D
[Modificato da by sal 04/12/2021 11:17] se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 81 | Registrato il: 04/03/2017
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
04/12/2021 11:38 | |
Funziona perfettamente!! GRAZIE Salvatore... è la soluzione che fa al caso!!
👍 |
| | Post: 82 | Registrato il: 04/03/2017
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
10/12/2021 19:49 | |
Ciao Salvatore noto che avviando delle macro che ho nel foglio di lavoro le quali mi copiano delle righe di un altro foglio di lavoro e incollano nel foglio di lavoro ,mi appare errore run-time13, "tipo non corrispondente e in visual-basic mi evidenzia
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, c, d
If Not Intersect(Target, [ax:ax]) Is Nothing Then
r = Target.Row: c = Target.Column: d = Target
If Target = "" Then Exit Sub
If Target = "Mostra imp" Then
Range(Cells(r - 1, 11), Cells(r, 18)).Font.Color = RGB(0, 0, 0)
Else
Range(Cells(r - 1, 11), Cells(r, 18)).Font.Color = RGB(217, 225, 242)
End If
End If
End Sub
Secondo te che cosa da questo tipo di errore? io ho cercato ma purtroppo non ho risolto niente!!
grazie😃 |
| | Post: 6.622 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
11/12/2021 08:29 | |
Ciao Fabrizio, il problema può essere, quando vengono selezionate o copiate più celle, il "Target" va in confusione.
a questo punto sostituisci
If Target = "" Then Exit Sub
con
If d = "" Then Exit Sub
se nemmeno funziona, inserisci appena sotto, ed appena Prima
If Not Intersect(Target, [ax:ax]) Is Nothing Then
Application.Enableevents = False -----------------> da inserire
.
.
Application.EnableEvents = True ------------------> da inserire
End Sub
vedi che l'editor del sito tenta di correggere gli errori di scrittura mettendo la "o" al posto della "e" quindi False è con la "e" finale
Ciao By Sal (8-D
[Modificato da by sal 11/12/2021 08:33] se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 83 | Registrato il: 04/03/2017
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
11/12/2021 14:24 | |
Grazie Salvatore , ho provato con il cosice sotto , ma purtroppo mi persiste lo stesso errore quando tento di copiare e incollare delle righe.
Avevo provato anche io ad aggiungere " Application.EnableEvents = False .....Application.EnableEvents = True" ma senza successo.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, c, d
If Not Intersect(Target, [ax:ax]) Is Nothing Then
Application.EnableEvents = False
r = Target.Row: c = Target.Column: d = Target
If d = "" Then Exit Sub
If d = "Mostra imp" Then
Range(Cells(r - 1, 11), Cells(r, 18)).Font.Color = RGB(0, 0, 0)
Else
Range(Cells(r - 1, 11), Cells(r, 18)).Font.Color = RGB(218, 238, 243)
End If
End If
Application.EnableEvents = True
End Sub
|
| | Post: 6.623 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
12/12/2021 07:44 | |
mandami il file e vediamo se lo fa anche da me dicendomi cosa copiare e dove inserirlo.
Ciao By sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 84 | Registrato il: 04/03/2017
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
12/12/2021 16:19 | |
Ciao Salvatore grazie ti allego parte del file .
Ho ricopiato solo una sub per farti vedere il tipo di errore.
Se ti posizioni nel foglio "sal" sulla cella per esempio c17.
Poi premi sul "pulsante 2 " che ho inserito in riferimento cella "j3" , la macro mi dovrebbe copiare la riga.
Pero' mi va in crash il codice in questione e mi continua ad evidenziare " If d = "" Then Exit Sub"
grazie Mille 👍 |
| | Post: 965 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
12/12/2021 17:46 | |
Ciao a tutti
Innanzi tutto un caro saluto a Salvatore.
Non ho seguito più dopo il primo intervento e, pertanto, potrei anche sbagliare e mi scuso in anticipo.
Non credo che il problema sia nella macro indicata bensì nella macro Sub Macro75bis() assegnata al pulsante 2.
Nella suddetta macro ho aggiunto all'inizio e alla fine Application.EnableEvents = False/True
L'altra macro ( quella relativa al WorkSkeet_Change del Foglio("sal")) ha alcune imperfezioni
1°) la dichiarazione delle variabili è meglio sia esplicita altrimenti si occupa inutilmente un sacco di memoria; la Dim r, c, d pone tutte e tre le variabili come Variant mentre è più corretto dichiarare la r e la c come Long (visto che si riferisco a riga e colonna);
2°) la variabile d è inutile; Target va bene (ricordarsi che Target è un Range);
3°) salvo errori (e qui posso sbagliarmi perchè non so se ci sono altre macro che potrebbe ero andare in conflitto) le righe Application.EnableEvents = False/True possono eliminarsi.
Riallego il file con le variazioni di cui sopra.
Ciao,
Mario
|
| | Post: 85 | Registrato il: 04/03/2017
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
12/12/2021 18:58 | |
Ciao Marius Grazie per la tua collaborazione, ora funziona tutto perfettamente! grazie per l'aiuto!.
Un caro saluto e buon Natale a tutti!
ciao👍🧐 |
|
|