David deve trovare e modificare ogni occorrenza di un formato di cella specifico in una cartella di lavoro con più fogli di lavoro. Ad esempio, potrebbe essere necessario trovare tutte le celle formattate come Valuta e modificare il formato in Generale. Si chiede come portare a termine il compito.

Il modo migliore per svolgere questa attività dipende dalla versione di Excel che stai utilizzando. Se stai usando Excel 2003 puoi semplicemente usare lo strumento Trova e sostituisci di Excel per apportare la modifica. Segui questi passaggi:

  1. Premi CTRL + H. Excel visualizza la scheda Sostituisci della finestra di dialogo Trova e sostituisci.

  2. Fare clic sul pulsante Opzioni, se necessario, per ingrandire la finestra di dialogo.

(Vedi figura 1.)

  1. Fare clic sul pulsante Formato a destra della riga Trova. Excel visualizza la finestra di dialogo Trova formato.

  2. Assicurati che la scheda Numero sia visualizzata. (Vedi figura 2.)

  3. Utilizza i controlli nella finestra di dialogo per specificare il formato che desideri trovare.

  4. Fare clic su OK per chiudere la finestra di dialogo Trova carattere.

  5. Fare clic sul pulsante Formato a destra della riga Sostituisci con. Excel visualizza la finestra di dialogo Sostituisci formato.

  6. Assicurati che la scheda Numero sia visualizzata.

  7. Utilizzare i controlli nella finestra di dialogo per specificare il formato che si desidera utilizzare come sostituzione.

  8. Fare clic su OK per chiudere la finestra di dialogo Sostituisci carattere.

  9. Utilizzare l’elenco a discesa Entro per scegliere Cartella di lavoro.

  10. Fare clic su Sostituisci tutto.

Se utilizzi una versione precedente di Excel, lo strumento Trova e sostituisci non ti consente di cercare o sostituire la formattazione. È invece necessario utilizzare una macro per eseguire le modifiche. Ecco un esempio di una macro che passa semplicemente attraverso tutte le celle utilizzate nella cartella di lavoro e imposta tutti i formati su Generale.

Sub FormatGeneral()

Dim iSht As Integer     Dim rng As Range

For iSht = 1 To Sheets.Count         Set rng = Worksheets(iSht).UsedRange         With rng             .NumberFormat = "General"

End With     Next End Sub

Se desideri essere un po ‘più selettivo in cui i formati sono stati sostituiti, dovrai controllare il formato esistente delle celle mentre li attraversi. Ad esempio, la seguente macro controlla le celle formattate come Valuta e quindi modifica solo quelle celle in un formato Generale.

Sub CurrencyToGeneral()

Dim iSht As Integer     Dim rng As Range     Dim c As Range

For iSht = 1 To Sheets.Count         For Each c In Worksheets(iSht).UsedRange.Cells             If c.NumberFormat = "$#,##0.00" Then                 c.NumberFormat = "General"

End If         Next c     Next End Sub

Se vuoi rendere la macro ancora più flessibile, puoi chiederti di fare clic su una cella che utilizza il formato che desideri trovare e quindi fare clic su una cella che utilizza il formato in cui desideri modificare quelle celle.

Public Sub UpdateFormats()

Dim rFind As Range     Dim rReplace As Range     Dim rNextCell As Range     Dim sNewFormat As String     Dim sOldFormat As String     Dim ws As Worksheet

On Error Resume Next

' Determine the old format     Do         Set rFind = Application.InputBox( _           prompt:="Select a cell that uses the format " & _           "for which you want to search", _           Type:=8)



If rFind Is Nothing Then             If MsgBox("Do you want to quit?", vbYesNo) = vbYes Then                 Exit Sub             ElseIf InStr(1, rFind.Address, ":", vbTextCompare) > 0 Then                 MsgBox "Please select only one cell."

Set rFind = Nothing             End If         End If     Loop Until Not rFind Is Nothing     sOldFormat = rFind.NumberFormat

' Determine the new format     Do         Set rReplace = Application.InputBox( _           prompt:="Select a cell using the new format", _           Type:=8)



If rReplace Is Nothing Then             If MsgBox("Do you want to quit?", vbYesNo) = vbYes Then                 Exit Sub             ElseIf InStr(1, rReplace.Address, ":", vbTextCompare) > 0 Then                 MsgBox "Please select only one cell."

Set rReplace = Nothing             End If         End If     Loop Until Not rReplace Is Nothing     sNewFormat = rReplace.NumberFormat

' Do the replacing     For Each ws In ActiveWorkbook.Worksheets         For Each rNextCell In ws.UsedRange             If rNextCell.NumberFormat = sOldFormat Then                 rNextCell.NumberFormat = sNewFormat             End If         Next rNextCell     Next ws     MsgBox "The selected format has been changed."

End Sub

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (9865) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: