Очистка всего, кроме формул (Microsoft Excel)
Рони хочет очистить все на листе, кроме ячеек, которые могут содержать формулы. Эту задачу можно выполнить вручную или с помощью макроса.
Если вы хотите выполнить очистку вручную, вы можете выполнить следующие действия:
-
Нажмите F5. Excel отображает диалоговое окно «Перейти». (См. Рис. 1.)
-
Щелкните кнопку Special. Excel отображает диалоговое окно «Перейти к специальному».
(См. Рис. 2.)
-
Установите переключатель «Константы». После этого станут доступны четыре флажка под параметром Формулы. (Это может немного сбивать с толку. Не сразу понятно, почему Microsoft сделала переключатель «Константы» для управления некоторыми флажками под другим переключателем.)
-
Убедитесь, что установлены все флажки под переключателем Формулы. (Они должны быть выбраны по умолчанию.)
-
Щелкните ОК. Excel выбирает все константы (ячейки, не содержащие формул) на листе.
-
Нажмите клавишу Del.
Это отлично работает, если вам нужно только время от времени очищать содержимое листа, не являющееся формулой. Если вам нужно делать это чаще, то вы можете просто использовать записывающее устройство макросов для записи вышеуказанных шагов. Или, если хотите, вы можете создать свой собственный макрос с нуля, например следующий:
Sub ClearAllButFormulas() Dim wks As Worksheet 'ignore errors in case there is only formulas On Error Resume Next For Each wks In Worksheets wks.Cells.SpecialCells(xlCellTypeConstants).ClearContents Next On Error GoTo 0 Set wks = Nothing End Sub
Этот макрос особенно полезен, если вам нужно очистить все ячейки, не являющиеся формулами, во всей книге. Причина в том, что он выполняет очистку на каждом листе во всей книге, без необходимости выполнять очистку вручную.
При использовании этого макроса следует соблюдать осторожность. Перед запуском этого макроса убедитесь, что вы действительно хотите очистить все, кроме ячеек, содержащих формулы, на листе или в книге. Было бы обидно случайно избавиться от содержимого ячеек, которое вам действительно нужно было сохранить. Если вы немного брезгливо относитесь к такой возможности, вы можете использовать следующую версию макроса:
Sub ClearAllButFormulas2() Dim wks As Worksheet Dim sTemp As String Dim iCheck As Integer sTemp = "This macro deletes everything in the current " sTemp = sTemp & "workbook except formulas. Once done, " sTemp = sTemp & "it cannot be undone." & vbCrLf & vbCrLf sTemp = sTemp & "Are you sure you want to continue?" iCheck = MsgBox(sTemp, vbYesNo + vbExclamation, "Warning!") If iCheck = vbYes Then 'ignore errors in case there is only formulas On Error Resume Next For Each wks In Worksheets wks.Cells.SpecialCells(xlCellTypeConstants).ClearContents Next On Error GoTo 0 Else MsgBox "Operation cancelled." End If End Sub
В этой версии отображается окно сообщения с вопросом, уверены ли вы, что хотите выполнить очистку. В результате у вас меньше шансов случайно испортить книгу.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (9097) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Clearing_Everything_Except_Formulas [Очистка всего, кроме формул]
.