Sostituzione dei formati delle celle (Microsoft Excel)
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:
-
Premi CTRL + H. Excel visualizza la scheda Sostituisci della finestra di dialogo Trova e sostituisci.
-
Fare clic sul pulsante Opzioni, se necessario, per ingrandire la finestra di dialogo.
(Vedi figura 1.)
-
Fare clic sul pulsante Formato a destra della riga Trova. Excel visualizza la finestra di dialogo Trova formato.
-
Assicurati che la scheda Numero sia visualizzata. (Vedi figura 2.)
-
Utilizza i controlli nella finestra di dialogo per specificare il formato che desideri trovare.
-
Fare clic su OK per chiudere la finestra di dialogo Trova carattere.
-
Fare clic sul pulsante Formato a destra della riga Sostituisci con. Excel visualizza la finestra di dialogo Sostituisci formato.
-
Assicurati che la scheda Numero sia visualizzata.
-
Utilizzare i controlli nella finestra di dialogo per specificare il formato che si desidera utilizzare come sostituzione.
-
Fare clic su OK per chiudere la finestra di dialogo Sostituisci carattere.
-
Utilizzare l’elenco a discesa Entro per scegliere Cartella di lavoro.
-
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: