Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Mancato Aggiornamento in elenco a discesa

Ultimo Aggiornamento: 16/08/2017 20:40
Post: 1
Registrato il: 16/08/2017
Città: MILANO
Età: 33
Utente Junior
Excell 2013
OFFLINE
16/08/2017 11:02

Buongiorno a Tutti
ho realizzato un file excell in cui diverse schede (fogli) contengono elementi a discesa (in formato testo), che vengono presi da una tabella (1°foglio della cartella),
Il problema si verifica quando per vari motivi devo modificare la descrizione di un elemento, che faccio nella tabella.
...
Nelle schede i dati Testo prima colonna , non si aggiornano, nè in automatico e neppure manualmente, unico modo x aggiornare è andare in TUTTE le schede, selezionare nuovamente il campo con elementi a discesa e scegliere di nuovo l'elemento che è stato modificato , i dati collegati (altre colonne della scheda ) cambiano i riferimenti in modo scorretto.

Ho allegato il file "Elenchiprova" di esempio.
Se qualcuno è cosi gentile da darmi una mano .... Grazie
Post: 5.230
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
16/08/2017 13:06

Riferimenti
Ciao Con la convalida non è possibile farlo, in quanto una volta scritto l'elemento resta fisso.

per fare quello che dici si dovrebbe fare un collegamento alla cella della tabella, in questo modo, una volta che cambi il dato nella tabella cambia in tutti i posti dove ci sta il riferimento, aggiornando tutto.

Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 450
Registrato il: 29/03/2012
Città: VARESE
Età: 68
Utente Senior
2010
OFFLINE
16/08/2017 15:16

Ciao Adepto.2017,

guarda se l'allegato va bene.


peppo

Excel 2010
Post: 5.231
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
16/08/2017 16:29

Convalida
Ciao Peppo credo che non vada bene, in quanto non vuole aggiornare la convalida con nuove voci, oltre quello credo.

ma vuole che se cambia una descrizione nel foglio Dati, ad esempio "Vernice Bianca" in "Vernice Rossa" tutte le schede dei fogli dove esiste la voce "Vernice Bianca" venga trasformata la Voce in "Vernice Rossa".

come ho detto con la convalida non è possibile, perche ogni tabella non dovrebbe avere più la convalida, ma il riferimento alla cella del foglio "DATI"

Comunque una soluzione esiste, usare il VBA, che ho applicato al file di "Adepto".

Allego il file con la soluzione, in effetti se cambia una descrizione nel foglio "DATI" aggiorna anche tutti gli altri fogli, sostituendo la descrizione con il nuovo nome.

Ho anche fatto in modo che si aggiorni in automatico la convalida all'aggiunta di nuovi elementi.

si deve solo ricordare che i nuovi elementi vanno prima inseriti nel Foglio dati, poi possono essere scritti nei fogli Schede, altrimenti non riporta le varie Cerca.Vert().

un altra cosa importante non cambiare il nome al foglio "DATI", in quanto viene gestito dalle macro.

Ciao By Sal [SM=x423051]
[Modificato da by sal 16/08/2017 16:35]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 1
Registrato il: 16/08/2017
Città: MILANO
Età: 33
Utente Junior
Excell 2013
OFFLINE
16/08/2017 19:23

by sal, 16/08/2017 16.29:

Ciao Peppo credo che non vada bene, in quanto non vuole aggiornare la convalida con nuove voci, oltre quello credo.

ma vuole che se cambia una descrizione nel foglio Dati, ad esempio "Vernice Bianca" in "Vernice Rossa" tutte le schede dei fogli dove esiste la voce "Vernice Bianca" venga trasformata la Voce in "Vernice Rossa".

come ho detto con la convalida non è possibile, perche ogni tabella non dovrebbe avere più la convalida, ma il riferimento alla cella del foglio "DATI"

Comunque una soluzione esiste, usare il VBA, che ho applicato al file di "Adepto".

Allego il file con la soluzione, in effetti se cambia una descrizione nel foglio "DATI" aggiorna anche tutti gli altri fogli, sostituendo la descrizione con il nuovo nome.

Ho anche fatto in modo che si aggiorni in automatico la convalida all'aggiunta di nuovi elementi.

si deve solo ricordare che i nuovi elementi vanno prima inseriti nel Foglio dati, poi possono essere scritti nei fogli Schede, altrimenti non riporta le varie Cerca.Vert().

un altra cosa importante non cambiare il nome al foglio "DATI", in quanto viene gestito dalle macro.

Ciao By Sal [SM=x423051]




Ciao By Sal, ho scaricato il file che mi hai allegato ed ho aperto con alt+f11 il visual basic, ho provato a copiare ed incollare i due codici sul mio progetto (il foglio è chiamato DATI anche li) tuttavia non funziona, forse sto sbagliando il metodo in cui copio e inserisco il codice.
Post: 5.232
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
16/08/2017 20:40

Convalida
Ciao Francesco, guarda che le macro sono i 2 moduli distinti, il modulo del foglio "DATI" queste 2 macro, per l'evento "Change" e "Selection_Change", "Selection" serve a prendere il valore precedente la modifica, "Change" invece serve a far partire la macro del Modulo1 per modificare tutte le voci uguali.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A:A]) Is Nothing Then
    If Target.Row = 1 Then Exit Sub
    Call cambia(Target)
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [A:A]) Is Nothing Then
    If Target.Row = 1 Then Exit Sub
    Dato = Target
End If
End Sub


ed un altra macro nel "Modulo1" questo che serve per riscrivere la nuova voce in tutti i fogli

Option Explicit
Public Dato

Sub cambia(dd)
Dim r, x, y, n, sh

n = Sheets.Count
For x = 1 To n
    sh = Sheets(x).Name
    If sh = "DATI" Then GoTo 1 Else Sheets(sh).Select
    For y = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        If Cells(y, 1) = Dato Then Cells(y, 1) = dd
    Next y
1 Next x
Sheets("DATI").Select
Cells(1, 1).Select
End Sub


nel tuo file oltre il Foglio "DATI" tutti gli altri fogli sono schede?, altrimenti può darsi che ti cancella qualche dato non voluto in un foglio diverso dalle schede.

N.B. le macro servono solo in questi due Moduli i fogli scheda non hanno macro.

Ciao By Sal [SM=x423051]

[Modificato da by sal 16/08/2017 20:42]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Intestazione su ogni pagina di elenco excel. (13 messaggi, agg.: 16/10/2017 15:00)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 08:17. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com