Sto tentando di scrivere un po 'di codice Visual Basic per impedire a chiunque di sovrascrivere accidentalmente le celle su più fogli quando sono selezionati più fogli.Creazione di un avviso in Excel quando si selezionano più pagine per evitare la sovrascrittura accidentale delle celle
Tuttavia, desidero l'opzione di sovrascrivere le celle su più fogli, qualora fosse necessario in qualsiasi momento.
Quindi, quando sono selezionati più fogli, desidero un pop-up con 2 opzioni, come segue: "Sei sicuro di voler sovrascrivere le celle tra i fogli che hai selezionato?" Ok Annulla
Penso di esserci quasi con il codice qui sotto, ma se ho 3 fogli selezionati, il pop-up apparirà 3 volte (una volta per ogni pagina). Naturalmente voglio solo che il pop up appaia una volta, indipendentemente dal numero di fogli che ho selezionato.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveWindow.SelectedSheets.Count > 1 Then
If MsgBox("Are you sure you want to overwrite the cells across the sheets you have selected?", vbOKCancel) = vbCancel Then Exit Sub
Application.EnableEvents = False
Application.Undo
End If
Application.EnableEvents = True
End Sub
O una soluzione ancora migliore sarebbe in realtà:
"Sei sicuro di voler sovrascrivere le cellule attraverso i fogli selezionati?"
Sì (per continuare con tutte le pagine selezionate),
No (per selezionare la pagina corrente e continua),
Annulla (per annullare l'operazione e mantenere la selezione corrente).
Questo codice è perfetto. Grazie mille!! :) – Michael
Questo è quello che volevi che "No" modificasse solo il "foglio di lavoro", l'annullamento della cancellazione è l'effetto collaterale che non avevi previsto. Quanto sono indecisi i tuoi utenti? – EEM