Замена форматов ячеек (Microsoft Excel)
Дэвиду необходимо найти и изменить каждое вхождение определенного формата ячеек в книге с несколькими листами. Например, ему может потребоваться найти все ячейки, отформатированные как «Валюта», и изменить этот формат на «Общий». Он задается вопросом, как выполнить задание.
Наилучший способ решения этой задачи зависит от используемой вами версии Excel. Если вы используете Excel 2003, вы можете просто использовать инструмент Excel «Найти и заменить», чтобы внести изменения. Выполните следующие действия:
-
Нажмите Ctrl + H. Excel отображает вкладку «Заменить» диалогового окна «Найти и заменить».
-
При необходимости нажмите кнопку «Параметры», чтобы увеличить диалоговое окно.
(См. Рис. 1.)
-
Нажмите кнопку «Форматировать» справа от строки «Найти». Excel отображает диалоговое окно «Найти формат».
-
Убедитесь, что отображается вкладка Число. (См. Рис. 2.)
-
Используйте элементы управления в диалоговом окне, чтобы указать формат, который вы хотите найти.
-
Нажмите ОК, чтобы закрыть диалоговое окно «Найти шрифт».
-
Нажмите кнопку «Формат» справа от строки «Заменить на». Excel отображает диалоговое окно «Заменить формат».
-
Убедитесь, что отображается вкладка Число.
-
Используйте элементы управления в диалоговом окне, чтобы указать формат, который вы хотите использовать в качестве замены.
-
Нажмите OK, чтобы закрыть диалоговое окно «Заменить шрифт».
-
Используйте раскрывающийся список Внутри, чтобы выбрать книгу.
-
Щелкните «Заменить все».
Если вы используете старую версию Excel, инструмент «Найти и заменить» не позволяет выполнять поиск или замену форматирования. Вместо этого вы должны использовать макрос для внесения изменений. Вот пример макроса, который просто просматривает все используемые ячейки в книге и устанавливает для всех форматов общий.
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
Если вы хотите более избирательно выбирать форматы, которые были заменены, вам нужно будет проверять существующий формат ячеек по мере их просмотра. Например, следующий макрос проверяет все ячейки, отформатированные как «Валюта», а затем изменяет только эти ячейки на общий формат.
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
Если вы хотите сделать макрос еще более гибким, вы можете попросить вас щелкнуть ячейку, которая использует формат, который вы хотите найти, а затем щелкнуть ячейку, которая использует формат, на который вы хотите изменить эти ячейки.
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 — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9865) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:
link: / excelribbon-Replacing_Cell_Formats [Замена форматов ячеек]
.