Condividi tramite

Problema perdita convalida dati Excel

Anonimo
2013-07-03T09:55:07+00:00

Ciao a tutti,

ho questo problema.

ho un foglio con delle celle a cui viene assegnata la convalida dati di un elenco (i dati presi da un foglio usato solo per questi)

con una macro creo dei fogli duplicati da quello base.

Adesso ho una decina di fogli duplicati, quando li visualizza mi perde la convalida dei dati, ma non in tutti assieme.

Il problema è che ho già inserito i dati e se devo reimpostare la convalida uno a uno divento matto e con il copia e incolla mi perde i dati impostati.

Quanche idea di cosa causa la perdita?

Come posso riattivare la convalida senza perdere le i dati inseriti?

Grazie

Davide

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2013-07-03T11:00:50+00:00

...

Quanche idea di cosa causa la perdita?

Come posso riattivare la convalida senza perdere le i dati inseriti?

Grazie

Davide

Ciao Davide,

se la copia dei fogli è stata eseguita correttamente anche la formattazione condizionale viene mantenuta.

Il codice allegato copia tutte le regole di convalida presenti nel 'foglioTemplate' in tutti i fogli che decido. Ovviamente la copia è effettuata nella medesima posizione e senza modificare il contenuto della cella di destinazione.

Ciao,

Andrea


Sub CopiaRegoleConvalidaTraFogli()

Dim wsSource As Excel.Worksheet

Dim rCell As Excel.Range, rValidate As Excel.Range

Dim vbSheets As Variant, vbSheet As Variant

With ThisWorkbook

'---------- adatta alle tue esigenze

Set wsSource = .Worksheets("FoglioTemplate")

vbSheets = Array("x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9")

'---------- individua celle con regola di convalida

On Error Resume Next

Set rValidate = wsSource.UsedRange.SpecialCells(xlCellTypeSameValidation)

On Error GoTo 0

'---------- copia la regola di convalida nella medesima cella di tutti i fogli

For Each rCell In rValidate

rCell.Copy

For Each vbSheet In vbSheets

.Worksheets(vbSheet).Range(rCell.Address).PasteSpecial Paste:=xlPasteValidation

Next

Next

End With

End Sub


La risposta è stata utile?

0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2013-07-03T10:26:42+00:00

                   

    Quanche idea di cosa causa la perdita?

    Come posso riattivare la convalida senza perdere le i dati inseriti?

    Dove si trovano i dati che creano la convalida?

    Vedi qui un esempio *che non perde* le convalide:

    http://www.maurogsc.eu/esempiforum13/mantieniconvalida.zip

    dove i dati di convalida si trovano in un foglio separato e alle celle è stato dato un Name.

    Premi CTRL+a per creare un nuovo foglio.

    La risposta è stata utile?

    0 commenti Nessun commento