Problema perdita convalida dati Excel

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
 

Informazioni domanda


Ultimo aggiornamento ottobre 19, 2018 Visualizzazioni 821 Si applica a:
Risposta
...
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
---
Andrea

Il problema è stato risolto?

Siamo spiacenti che questo non sia stato d'aiuto.

Fantastico! Grazie per aver scelto questa risposta.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento, ci aiuta a migliorare il sito.

Sei soddisfatto di questa risposta?

Grazie per il tuo commento.