Макрос удаления формул в excel

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

Добрый день. Ребята я наверное достал вас со своими вопросами, блин ну всегда обращаюсь только по крайней необходимости. Сегодня готовил отчетную ведомость вышло около 2000 строк. После чего мне нужно было удалить автоматически формулы и оставить их значения со всей книги, я воспользовался макросом, который находится в примере, он удалил формулы и оставил их значения, но вот в чем проблема, в формуле по условию получалось значение «3.1», а после выполнения макросом получилось «3,1». Ребята помогите, как быть. Плиззз!!! :)

 

Nic70y

Пользователь

Сообщений: 3289
Регистрация: 22.12.2012

Win7 MSO 2013

Если в ячейках с формулами установить текстовый формат — то работает.
В макросах не понимаю — почему не знаю.

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

В этом то и проблема формул больше 1000

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Файл не смотрел, но, если у Вас там используется .value — попробуйте .text

 

Serge 007

Гость

#6

25.06.2013 20:03:32

Цитата
Nic70y пишет:
Если в ячейках с формулами установить текстовый формат — то работает.

Ну дык и установим его :)

Код
Sub All_Formulas_To_Values_In_All_Sheets()
    Dim wsSh As Worksheet
    For Each wsSh In Sheets
    wsSh.UsedRange.NumberFormat = "@"
        wsSh.UsedRange.Value = wsSh.UsedRange.Value
    Next wsSh
End Sub
 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

Не подскажите, в чем разница между моим макросом(я его записал макрорекордером), и вашим, чисто из любопытства
Sub Макрос4()
   Sheets(Array(«Лист1», «Лист2», «Лист3»)).Select
   Sheets(«Лист1»).Activate
   Cells.Select
   Selection.Copy
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
   Range(«A1»).Select
   ActiveSheet.Paste
   Application.CutCopyMode = False
   Sheets(«Лист1»).Select
   Range(«A1»).Select
End Sub

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

А так огромнейшее спасибо за помощь. Я думал вся моя работа пойдет под хвост.

Изменено: danka25.06.2013 20:13:41

 

Serge 007

Гость

#9

25.06.2013 20:21:29

Цитата
danka пишет:
в чем разница между моим макросом(я его записал макрорекордером), и вашим

Нет никакого «моего» макроса, я взял его из Вашего файла и немного подкорректировал :)

Разница — во всём. Это два совершенно разных макроса. Что именно Вы хотите услышать в ответ на Ваш вопрос?

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

Каким лучше пользоваться, какой быстрее.

 

Лучше, быстрее, универсальнее и правильнее All_Formulas_To_Values_In_All_Sheets

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

Всё спасибо, значит буду пользоваться ей.

 

Serge 007

Гость

#13

25.06.2013 20:42:27

Цитата
danka пишет:
буду пользоваться ей

Надеюсь «ей» — это процедурой, а не макросом?  :D

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

Будем надеится :D

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

Испытал макрос, работает отлично. Но теперь возникла другая проблема. В рассчетах цифры получались например 82,6, а после выполнения макросом 82,5588001734408.

 
 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

Вручную, их слишком много. А макросом незнаю как,наверно никак.

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#18

25.06.2013 21:09:50

Не могу не отметить тот факт, что коды взяты с моего сайта :-)

Чтобы округлить сначала определитесь, что важнее — точное совпадение вычислений на листе или округление. Ведь если тупо округлить значения, то какие-то ячейки, участвующие ранее в вычислениях будут давать неверный результат.
Лучше просто примените формат к ячейкам и до, и после:

Цитата
Sub All_Formulas_To_Values_In_All_Sheets()
   Dim wsSh As Worksheet
   For Each wsSh In Sheets
       wsSh.UsedRange.NumberFormat = «@»
       wsSh.UsedRange.Value = wsSh.UsedRange.Value
       wsSh.UsedRange.NumberFormat = «0.00»
   Next wsSh
End Sub

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Serge 007

Гость

#19

25.06.2013 21:12:26

Цитата
The_Prist пишет:
основа кода и название процедуры(All_Formulas_To_Values_In_All_Sheets) взяты с моего сайта.

Дим, я из файла ТС брал

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

Хотел как быстрее и лучше сделать работу. Но надобыло на начальной стадии задаться этим вопросом. просто получается у меня выводит формулы значения «формат общий», а какието числовой число десятичных знаков либо 1, либо2. А может мне сделать так, попробывать макрос записанный макрорекордером, он у меня выводит значения, а потом воспользоваться вашим макросом не много переделанным Serge 007.

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#21

25.06.2013 21:26:10

Цитата
danka пишет:
В рассчетах цифры получались например 82,6, а после выполнения макросом 82,5588001734408.

Попробуйте добавить в макрос две строчки:

Код
ActiveWorkbook.PrecisionAsDisplayed = True

в насчале макроса и

Код
ActiveWorkbook.PrecisionAsDisplayed = False

в конце. Может сработает.

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#22

25.06.2013 22:02:40

Цитата
Serge 007 пишет:
Дим, я из файла ТС брал

Так я ничего против-то не имею ни к ТС, ни тем более к тебе. Так, отметил мимоходом(уж слишком подозрительно знакомый код увидел просто) :-)

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

#23

25.06.2013 22:06:48

Кому интересно. Вообщем, нашел решение, записал макрос (выделил все листы в книги кнопкой shift, выделил весь лист1, соответственно выделились так же другие листы, копировать, спец. вставка вставить зачения, убрал выделение с листов, остановил запись. И вот, что получилось:

Код
Sub Макрос1()
 Range("A1").Select
 Sheets(Array("Лист1", "Лист2", "Лист3")).Select
 Sheets("Лист1").Activate
 Cells.Select
 Selection.Copy
 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
 :=False, Transpose:=False
 Range("A1").Select
 Application.CutCopyMode = False
 ActiveCell.FormulaR1C1 = ""
 Range("A1") .Select
 Sheets("Лист1") .Select
End Sub

Вроде работает.

 

danka

Пользователь

Сообщений: 67
Регистрация: 16.06.2013

Если есть другие придложения или замечания, с радостью прочитаю. А так спосибо всем, за то что обратили на мою тему, было очень приятно.

Изменено: danka25.06.2013 22:10:46

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#25

25.06.2013 22:37:11

Есть прИдложение: в сообщении оформляйте код соответствующим тэгом (кнопочка над полем для сообщения)

Содержание

  • Процедура удаления
    • Способ 1: копирование значений через параметры вставки
    • Способ 2: копирование специальной вставкой
    • Способ 3: удаление формулы из исходной таблицы
    • Способ 4: удаление формул без создания транзитного диапазона
    • Способ 5: использование макроса
    • Способ 6: Удаление формулы вместе с результатом
  • Вопросы и ответы

Удаление формул в Microsoft Excel

Работа с формулами в Экселе позволяет значительно облегчить и автоматизировать различные вычисления. Вместе с тем, далеко не всегда нужно, чтобы результат был привязан к выражению. Например, при изменении значений в связанных ячейках, изменятся и итоговые данные, а в некоторых случаях это не нужно. Кроме того, при переносе скопированной таблицы с формулами в другую область значения могут «потеряться». Ещё одним поводом их спрятать может служить ситуация, когда вы не хотите, чтобы другие лица видели, как проводятся в таблице расчеты. Давайте выясним, какими способами можно удалить формулу в ячейках, оставив только результат вычислений.

Процедура удаления

К сожалению, в Excel нет инструмента, который моментально убирал бы формулы из ячеек, а оставлял там только значения. Поэтому приходится искать более сложные пути решения проблемы.

/how-to-enable-or-disable-Формула в Microsoft Excelmacros-in-excel/

Способ 1: копирование значений через параметры вставки

Скопировать данные без формулы в другую область можно при помощи параметров вставки.

  1. Выделяем таблицу или диапазон, для чего обводим его курсором с зажатой левой кнопкой мыши. Пребывая во вкладке «Главная», делаем щелчок по значку «Копировать», который размещен на ленте в блоке «Буфер обмена».
  2. Копирование в Microsoft Excel

  3. Выделяем ячейку, которая будет верхней левой ячейкой вставляемой таблицы. Выполняем щелчок по ней правой кнопкой мышки. Будет активировано контекстное меню. В блоке «Параметры вставки» останавливаем выбор на пункте «Значения». Он представлен в виде пиктограммы с изображением цифр «123».

Вставка в Microsoft Excel

После выполнения этой процедуры диапазон будет вставлен, но только в виде значений без формул. Правда при этом потеряется также и исходное форматирование. Поэтому форматировать таблицу придется вручную.

Таблица вставлена в Microsoft Excel

Способ 2: копирование специальной вставкой

Если вам нужно сохранить исходное форматирование, но вы не хотите тратить время на ручную обработку таблицы, то существует возможность для этих целей использовать «Специальную вставку».

  1. Копируем тем же способом, что и прошлый раз содержимое таблицы или диапазона.
  2. Выделяем всю область вставки или её левую верхнюю ячейку. Делаем щелчок правой кнопкой мыши, тем самым вызывая контекстное меню. В открывшемся списке выбираем пункт «Специальная вставка». Далее в дополнительном меню жмем на кнопку «Значения и исходное форматирование», которая размещается в группе «Вставить значения» и представляет собой пиктограмму в виде квадрата, где изображены цифры и кисточка.

Вставка с помощью специальной вставки в Microsoft Excel

После этой операции данные будут скопированы без формул, но при этом сохранится исходное форматирование.

Вставка с сохранением форматирования в Microsoft Excel

Способ 3: удаление формулы из исходной таблицы

До этого мы говорили, как убрать формулу при копировании, а теперь давайте выясним, как её удалить из исходного диапазона.

  1. Производим копирование таблицы любым из тех методов, о которых шел разговор выше, в пустую область листа. Выбор конкретного способа в нашем случае значения иметь не будет.
  2. Выделяем скопированный диапазон. Щелкаем по кнопке «Копировать» на ленте.
  3. Повторное копирование в Microsoft Excel

    Lumpics.ru

  4. Выделяем первоначальный диапазон. Щелкаем по нему правой кнопкой мыши. В контекстном списке в группе «Параметры вставки» выбираем пункт «Значения».
  5. Повторная вставка в Microsoft Excel

  6. После того, как данные были вставлены, можно удалить транзитный диапазон. Выделяем его. Вызываем контекстное меню кликом правой кнопки мыши. Выбираем в нем пункт «Удалить…».
  7. Удаление таблицы в Microsoft Excel

  8. Открывается небольшое окошко, в котором нужно установить, что именно нужно удалить. В конкретно нашем случае транзитный диапазон находится внизу от исходной таблицы, поэтому нам нужно удалить строки. Но если бы он располагался сбоку от неё, то следовало бы удалить столбцы, тут очень важно не перепутать, так как можно уничтожить основную таблицу. Итак, выставляем настройки удаления и жмем на кнопку «OK».

Настройки удаления в Microsoft Excel

После выполнения указанных действий все ненужные элементы будут удалены, а формулы из исходной таблицы исчезнут.

Способ 4: удаление формул без создания транзитного диапазона

Можно сделать ещё проще и вообще не создавать транзитный диапазон. Правда в этом случае нужно действовать особенно внимательно, ведь все действия будут выполняться в границах таблицы, а это значит, что любая ошибка может нарушить целостность данных.

  1. Выделяем диапазон, в котором нужно удалить формулы. Кликаем по кнопке «Копировать», размещенной на ленте или набираем на клавиатуре комбинацию клавиш Ctrl+C. Эти действия равнозначны.
  2. Копирование в программе Microsoft Excel

  3. Затем, не снимая выделения, кликаем правой кнопкой мыши. Запускается контекстное меню. В блоке «Параметры вставки» жмем на пиктограмму «Значения».

Вставка в программе Microsoft Excel

Таким образом, все данные будут скопированы и тут же вставлены, как значения. После этих действий формул в выделенной области не останется.

Формул в таблице нет Microsoft Excel

Способ 5: использование макроса

Для удаления формул из ячеек можно также использовать макросы. Но для этого нужно сначала активировать вкладку разработчика, а также включить саму работу макросов, если они у вас не активны. Как это сделать, можно узнать в отдельной теме. Мы же поговорим непосредственно о добавлении и использовании макроса для удаления формул.

  1. Переходим во вкладку «Разработчик». Кликаем по кнопке «Visual Basic», размещенной на ленте в блоке инструментов «Код».
  2. Переход в редактор макросов в Microsoft Excel

  3. Запускается редактор макросов. Вставляем в него указанный ниже код:


    Sub Удаление_формул()
    Selection.Value = Selection.Value
    End Sub

    После этого закрываем окно редактора стандартным способом, нажав на кнопку в правом верхнем углу.

  4. Редактор макросов в Microsoft Excel

  5. Возвращаемся к листу, на котором расположена интересующая нас таблица. Выделяем фрагмент, где расположены формулы, которые нужно удалить. Во вкладке «Разработчик» жмем на кнопку «Макросы», размещенную на ленте в группе «Код».
  6. Переход к макросам в Microsoft Excel

  7. Открывается окно запуска макросов. Ищем в нем элемент под названием «Удаление_формул», выделяем его и жмем на кнопку «Выполнить».

Запуск макроса в Microsoft Excel

После этого действия все формулы в выделенной области будут удалены, а останутся только результаты вычислений.

Максрос выполнил задачу в Microsoft Excel

Урок: Как включить или отключить макросы в Excel

Урок: Как создать макрос в Excel

Способ 6: Удаление формулы вместе с результатом

Впрочем, бывают случаи, когда нужно удалить не только формулу, но и результат. Сделать это ещё проще.

  1. Выделяем диапазон, в котором размещены формулы. Кликаем правой кнопкой мыши. В контекстном меню останавливаем выбор на пункте «Очистить содержимое». Если вы не хотите вызывать меню, то можно просто после выделения нажать клавишу Delete на клавиатуре.
  2. Очистка содержимого в Microsoft Excel

  3. После этих действий все содержимое ячеек, включая формулы и значения, будет удалено.

Содержимое очищено в Microsoft Excel

Как видим, существует целый ряд способов, с помощью которых можно удалить формулы, как при копировании данных, так и непосредственно в самой таблице. Правда, штатного инструмента Excel, который автоматически убирал бы выражение одним кликом, к сожалению, пока не существует. Таким способом можно удалить только формулы вместе со значениями. Поэтому приходиться действовать обходными путями через параметры вставки или же с применением макросов.

Хитрости »

12 Май 2011              364018 просмотров


Как удалить в ячейке формулу, оставив значения?

Иногда формула в ячейке нужна лишь на короткое время — только для получения результата. А затем уже не нужна ни сама формула, ни ячейки, на которые она ссылается. Но вот беда — если удалить ячейки, то формула «ломается», как это говорится. Т.е. в ячейке получается либо #ЗНАЧ! либо #ССЫЛКА!. Или Вам надо просто зафиксировать значение, полученное в результате работы формулы. Т.е. чтобы формулы там не было, а было только значение. Как ни странно, но делается это проще простого:

Выделяете ячейку/несколько ячеек с формуламиКопируетеПравая кнопка мышиСпециальная вставкаЗначения

Специальная вставка

Вот и все. Больше формул нет.
Так же подобное можно сделать при помощи кода VBA:

Sub Formulas_To_Values()
    Selection.Value = Selection.Value
End Sub

Для использования кода переходим в редактор VBA(Alt+F11) —InsertModule и вставляем приведенный код. Чтобы выполнить код надо на листе нажать сочетание клавиш Alt+F8, выбрать нужный код и нажать Выполнить
Данный код заменяет формулы в выделенном диапазоне на значения. Только необходимо учитывать, что выделенный диапазон должен быть неразрывным. Иначе код выдаст ошибку. А такой код

Sub All_Formulas_To_Values()
    ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
End Sub

заменит все формулы на листе в значения. При этом будут разорваны все связи на данном листе. Это стоит учитывать. Кстати, иногда именно для этого и применяют подобный код.

И в качестве бонуса ниже приведен код, который заменит все формулы на всех листах активной книги в значения:

Sub All_Formulas_To_Values_In_All_Sheets()
    Dim wsSh As Worksheet
    For Each wsSh In Sheets
        wsSh.UsedRange.Value = wsSh.UsedRange.Value
    Next wsSh
End Sub

А этот код поможет заменить формулы на значения только в видимых ячейках(просматриваются выделенные ячейки):

Sub All_Formulas_To_Values_OnlyVisible()
    Dim rRng As Range, rArea As Range
    If Selection.Count = 1 Then
        Set rRng = ActiveCell
    Else
        Set rRng = Selection.SpecialCells(12)
    End If
    For Each rArea In rRng.Areas
        rArea.Value = rArea.Value
    Next rArea
End Sub

КАК БЫСТРО ВЫЗЫВАТЬ:
Вообще данную команду можно вывести на Быструю панель и использовать в одно нажатие тогда, когда нужно.

  • 2010 Excel ФайлПараметрыНастройка. Выбрать команды из: Все команды. Находите команду Вставить значения и добавляете;
  • 2007 Excel МенюПараметры ExcelНастройка. Выбрать команды из: Все команды. Находите команду Вставить значения и добавляете;
  • 2003 Excel: СервисНастройка— вкладка Команды— категория ПравкаВставить значения.

Теперь у Вас появится значок на Быстрой панели.

ДОБАВИТЬ В КОНТЕКСТНОЕ МЕНЮ ЯЧЕЕК:
Если один раз выполнить код:

Sub Add_PasteSpecials()
    Dim cbb
    Set cbb = Application.CommandBars("Cell").FindControl(ID:=370)
    If Not cbb Is Nothing Then cbb.Delete 'удаляем пункт, если он был уже добавлен ранее
    Application.CommandBars("Cell").Controls.Add ID:=370, before:=4
End Sub

то в контекстном меню мыши появится команда — «Вставить значения». Она полностью дублирует стандартную, только вызвать её быстрее — одно нажатие и все.

Также см.:
Вставить значения
Формулы перестали считать — как исправить?


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Функциональные возможности программы Excel позволяют не только структурировать и работать с большими объемами данных, но и производить различные расчеты. Зачастую после того, как получен результат, рассчитанный по формуле, в ней больше нет необходимости, и в ячейке требуется оставить именно само значение. Более того, в некоторых случаях наличие формулы будет только мешать в последующей работе. Например, если попробовать перенести или скопировать данные из ячейки с формулой в другое место таблицы, результат вычислений будет утерян или изменится, т.к. при выполнении данной процедуры будут изменены ссылки на ячейки, указанные в формуле, за исключением тех случаев, когда вместо относительные ссылок (по умолчанию) использовались абсолютные.

В связи с этим, ниже мы рассмотрим, как удаляются формулы из ячеек таблицы Эксель с сохранением полученных в них результатов.

Содержание

  1. Удаление формул
    • Метод 1: копируем значения с помощью параметров вставки
    • Метод 2: используем специальную вставку
    • Метод 3: удаляем формулы в исходной таблице
    • Метод 4: удаляем формулы без копирования в другое место
    • Метод 5: применяем макрос
    • Метод 6: удаляем формулу вместе с результатом вычислений
  2. Заключение

Удаление формул

Специального инструмента, который бы помог выполнить данную процедуру, в Эксель нет. Однако решить этот вопрос можно, причем разными методами.

Метод 1: копируем значения с помощью параметров вставки

Пожалуй, это самый простой способ, пользуясь которым можно скопировать содержимое ячеек и вставить в другое место без формул. Вот, что мы делаем:

  1. Для начала с помощью зажатой левой кнопки мыши нужно выделить область ячеек, которую мы хотим скопировать.Выделенный диапазон ячеек в Эксель
  2. Правой кнопкой мыши щелкаем по любой точке выделенного диапазона и в открывшемся контекстном меню выбираем пункт “Копировать”. Также, можно вместо этого действия можно просто нажать сочетание клавиш Ctrl+C (после того, как выполнено выделение).Копирование диапазона ячеек в Эксель через контекстное менюДля копирования данных можно также воспользоваться кнопкой “Копировать”, которая расположена на лента программы во вкладке “Главная”.Копирование диапазона ячеек в Excel с помощью кнопки на ленте
  3. Переходим в ячейку, начиная с которой мы хотим вставить скопированные данные (эта ячейка станет самой верхней левой точкой диапазона данных, который мы будем вставлять из буфера обмена). Затем правой кнопкой мыши щелкаем по выбранному элементу, в появившемся меню в группе “Параметры вставки” кликаем по варианту “Значения” (значок в виде цифр “123”).Вставка скопированных значений в Эксель
  4. В результате скопированная область данных (только конкретные числовые значения, без формул) будет вставлена в новое место.Вставленные из буфера обмена данные в Excel

Метод 2: используем специальную вставку

Если требуется скопировать-вставить данные с сохранение первоначального вида (форматирования) ячеек, можно воспользоваться “Специальной вставкой”.

  1. Выделяем и копируем требуемый диапазон данных. На этот раз давайте отметим всю таблицу, а для копирования используем кнопку на ленте инструментов.Копирование выделенной области ячеек в Эксель с помощью кнопки на ленте
  2. Переходим в ячейку, начиная с которой планируем вставить скопированные элементы. Щелкаем правой кнопкой мыши по ней, в раскрывшемся контекстном меню кликаем (или наводим указатель мыши) по небольшой стрелке вправо рядом с командой “Специальная вставка”. Всплывет дополнительное подменю, в котором щелкаем по пункту “Значения и исходное форматирование”.Вставка скопированных значений с сохранением исходного форматирования в Excel
  3. Мы получим исходную таблицу в новом месте с охранением форматирования и конкретными числовыми значениями вместо формул.Вставленная из буфера обмена таблица в Эксель с сохранением исходного форматирования

Метод 3: удаляем формулы в исходной таблице

Теперь давайте перейдем к удалению формул непосредственно в ячейках исходной таблицы.

  1. Копируем нужный диапазон ячеек любым удобным способом, например, воспользовавшись контекстным меню.Копирование ячеек в Excel через контекстное меню
  2. Как и в ранее рассмотренном методе, вставляем скопированную область в новое место с сохранением исходного форматирования. После этого, не снимая выделение, копируем только что вставленные данные, например, нажав комбинацию клавиш Ctrl+C (или любым другим удобным способом).Вставленная из буфера обмена таблица в Excel
  3. Переходим в самую верхнюю левую ячейку исходной таблицы (или выделяем в ней тот диапазон ячеек, который был скопирован в 1 шаге), кликом правой кнопки мыши вызываем меню, в котором выбираем вставку “Значений”.Вставка скопированных значений в Excel
  4. Теперь, когда содержимое ячеек без формул скопировано в исходное место на листе, удаляем созданные дубликаты. Для этого, выделяем нужный диапазон данных, щелкаем по нему правой кнопкой мыши и в раскрывшемся меню выбираем пункт “Удалить”.Удаление ячеек в Эксель через контекстное меню
  5. Появится окно удаления ячеек. Выбираем то, что нужно удалить. Исходя из нашего примера, ставим отметку напротив пункта “строку”, после чего жмем кнопку OK.Удаление строк в ЭксельТакже, так как справа от выделенного диапазона нет заполненных ячеек, можно выбрать вариант – “ячейки, со сдвигом влево”.Удаление ячеек со сдвигом влево в Excel
  6. Задублированный диапазон данных удален. На этом работа по замене формул на конкретные значения в исходной таблице завершена.Выделенный диапазон ячеек в Эксель

Метод 4: удаляем формулы без копирования в другое место

Что делать, если не хочется дублировать таблицу в другом месте листа для ее последующего переноса в исходное с конкретными значениями? Такая возможность в Эксель также предусмотрена, однако, требует большой концентрации внимания, так как все действия мы будем выполнять непосредственно в самой таблице, и из-за неверных шагов можно удалить или нарушить структурную целостность данных.

  1. Как обычно, сперва нужно выделить область ячеек, в которых нужно удалить формулы. Затем копируем данные любым удобным способом. Проще всего это сделать, нажав на кнопку “Копировать” на ленте программы (вкладка “Главная”).Копирование выделенной области ячеек в Excel
  2. Теперь, оставляя скопированную область выделенной, щелкаем по ней правой кнопкой мыши и в появившемся меню в группе команд “Параметры вставки” кликаем по варианту “Значения”.Вставка скопированной области ячеек в Excel
  3. В итоге, мы в том же самом месте таблицы в выделенных ячейках вместо формул вставим конкретные значения (результаты вычислений).Вставленный диапазон ячеек в Эксель

Метод 5: применяем макрос

Данный метод предполагает использование макросов. Однако, прежде чем приступать, непосредственно, к самой процедуре удаления формул, необходимо включить режим Разработчика, так как по умолчанию он в программе выключен. Для этого делаем следующее:

  1. Щелкаем по меню “Файл”.Переход в меню Файл в Excel
  2. В открывшемся окне в боковом перечне слева в самом низу выбираем раздел “Параметры”.Переход в Параметры Excel
  3. В параметрах программы переходим в подраздел “Настроить ленту”. В правой части окна ставим галочку напротив пункта “Разработчик”, после чего щелкаем OK.Включение режима Разработчика в Параметрах Excel

Теперь все готово, чтобы выполнить поставленную задачу:

  1. Переключаемся во вкладку “Разработчик”, в которой щелкаем по кнопке “Visual Basic” (группа “Код”).Переход в редактор Visual Basic в Эксель
  2. Выбрав нужный лист книги нажимаем на кнопку “View Code” (или дважды щелкаем левой кнопкой мыши по выбранному листу), чтобы запустить редактор макросов, куда вставляем код ниже, после чего закрываем данное окно.
    Sub Удаление_формул()
    Selection.Value = Selection.Value
    End Sub
    Код для замены формул значениями в редакторе Visual Basic в Excel
  3. Выделяем диапазон ячеек, содержащих формулы, и нажимаем кнопку “Макросы”, которая расположена во вкладке “Разработчик” (блок инструментов “Код”).Применение макросов в Эксель
  4. В открывшемся окне выбора макросов отмечаем нужный и щелкаем по кнопке “Выполнить”.Выбор макроса в Excel
  5. После того, как процедура будет выполнена, все формулы в выбранных ячейках будут заменены результатами расчетов по ним.

Метод 6: удаляем формулу вместе с результатом вычислений

В некоторых ситуациях перед пользователем встает задача – не только удалить формулы в ячейках, но и результаты вычислений по ним. Данная процедура довольно простая:

  1. Начинаем с того, что выделяем область ячеек, содержащих формулы. Кликом правой кнопки мыши по выделенному диапазону вызываем меню, в котором щелкаем по команде “Очистить содержимое”.Очистка содержимого ячеек в Эксель через контекстное менюТакже, вместо этого, после того, как нужные элементы отмечены, можно просто нажать клавишу Del (Delete) на клавиатуре.
  2. В итоге все данные в ячейках, в том числе, формулы будут стерты.Диапазон ячеек в Эксель с удаленными данными

Заключение

Таким образом, в удалении ненужных формул из ячеек таблицы Эксель с сохранением результатов расчетов нет ничего сложного. Более того, программа позволяет выполнить эту процедуру различными способами, поэтому, каждый пользователь может выбрать для себя тот метод, который покажется наиболее удобным и эффективным.

Удалить формулы на любом листе.

Mark1976

Дата: Вторник, 15.12.2020, 21:45 |
Сообщение № 1

Группа: Проверенные

Ранг: Ветеран

Сообщений: 685


Репутация:

3

±

Замечаний:
0% ±


Excel 2010, 2013

Здравствуйте. Есть макрос [vba]

Код

Sub Удалить_выделенные_формулы()
‘преобразование формул в значения в выделенном диапазоне(ах)
    Dim smallrng As Range
    For Each smallrng In Selection.Areas
        smallrng.Value = smallrng.Value
    Next smallrng
End Sub

[/vba]
Данный макрос удаляет формулы в выделенном диапазоне. У меня 4 листа в книге, кнопка на 1 листе. Надо чтобы при выделении формулы на любом листе и запуске макроса с первого листа формулы удалялись на любом листе. Заранее спасибо за решение.

К сообщению приложен файл:

3931878.xls
(82.0 Kb)

 

Ответить

Pelena

Дата: Вторник, 15.12.2020, 21:52 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Здравствуйте.
Вынесите кнопку на Панель быстрого доступа


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Mark1976

Дата: Вторник, 15.12.2020, 21:58 |
Сообщение № 3

Группа: Проверенные

Ранг: Ветеран

Сообщений: 685


Репутация:

3

±

Замечаний:
0% ±


Excel 2010, 2013

Pelena, ок. А у других пользователей, кто откроет данный файл тоже данная кнопка будет на панели? С файлом будут работать много пользователей.

Сообщение отредактировал Mark1976Вторник, 15.12.2020, 22:03

 

Ответить

Pelena

Дата: Вторник, 15.12.2020, 22:10 |
Сообщение № 4

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

С файлом будут работать много пользователей

об этом в первом посте ничего не было. Как макрос должен узнать, с каким листом работать?


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Mark1976

Дата: Вторник, 15.12.2020, 22:13 |
Сообщение № 5

Группа: Проверенные

Ранг: Ветеран

Сообщений: 685


Репутация:

3

±

Замечаний:
0% ±


Excel 2010, 2013

Елена, стирать данные надо на этих листах: Приложение Согаз, Приложение Макс-М, Приложение Капитал.

 

Ответить

Pelena

Дата: Вторник, 15.12.2020, 22:17 |
Сообщение № 6

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

То есть перебрать все листы и в выделенных диапазонах заменить формулы на значения?


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Mark1976

Дата: Вторник, 15.12.2020, 22:19 |
Сообщение № 7

Группа: Проверенные

Ранг: Ветеран

Сообщений: 685


Репутация:

3

±

Замечаний:
0% ±


Excel 2010, 2013

Pelena, получается, что да.

 

Ответить

Mark1976

Дата: Вторник, 15.12.2020, 22:21 |
Сообщение № 8

Группа: Проверенные

Ранг: Ветеран

Сообщений: 685


Репутация:

3

±

Замечаний:
0% ±


Excel 2010, 2013

Pelena, почему такая сложность, так как кнопку на каждом листе надо удалять перед тем как распечатать, так как она тоже печатается.

 

Ответить

Pelena

Дата: Вторник, 15.12.2020, 22:22 |
Сообщение № 9

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

[vba]

Код

Sub Удалить_выделенные_формулы()
‘преобразование формул в значения в выделенном диапазоне(ах)
    Dim smallrng As Range, sh As Worksheet
    Application.ScreenUpdating = False
    For Each sh In Worksheets
        sh.Activate
        For Each smallrng In Selection.Areas
            smallrng.Value = smallrng.Value
        Next smallrng
    Next sh
    Application.ScreenUpdating = True
End Sub

[/vba]


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Mark1976

Дата: Вторник, 15.12.2020, 22:26 |
Сообщение № 10

Группа: Проверенные

Ранг: Ветеран

Сообщений: 685


Репутация:

3

±

Замечаний:
0% ±


Excel 2010, 2013

Спасибо Елена, это то, что надо.

 

Ответить

RAN

Дата: Среда, 16.12.2020, 10:25 |
Сообщение № 11

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

-Как ребенка назвали?
-Маша.
-Хорошее имя, но намучается с ним пацан!

С макросом в варианте из №9 будет аналогично, ибо Selection относится исключительно к активному окну, и совершенно не факт, что выделение совпадет на всех листах. Осмелюсь предположить, что в 99% случаев оно будет различным.


Быть или не быть, вот в чем загвоздка!

 

Ответить

Pelena

Дата: Среда, 16.12.2020, 11:00 |
Сообщение № 12

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Selection относится исключительно к активному окну

Разве sh.Activate для этого недостаточно?


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

RAN

Дата: Среда, 16.12.2020, 13:02 |
Сообщение № 13

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Избыточно.
Выполни макросы в файле, и погляди результат.

К сообщению приложен файл:

0527016.xlsm
(14.9 Kb)


Быть или не быть, вот в чем загвоздка!

 

Ответить

Pelena

Дата: Среда, 16.12.2020, 15:54 |
Сообщение № 14

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Поглядела.
Там, где есть sh.Activate, отрабатывает, как надо. В остальных случаях работает неверно.
Не пойму, что не так?


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

RAN

Дата: Среда, 16.12.2020, 16:26 |
Сообщение № 15

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

По тому, как сформулирован вопрос, все верно. Но я, почему-то, уверен, что нужно так, как работает третий макрос. ;)
Могу ошибаться, но это не точно.


Быть или не быть, вот в чем загвоздка!

 

Ответить

mgt

Дата: Пятница, 18.12.2020, 12:46 |
Сообщение № 16

Группа: Пользователи

Ранг: Новичок

Сообщений: 45


Репутация:

13

±

Замечаний:
0% ±


Excel 2010

Pelena, почему такая сложность, так как кнопку на каждом листе надо удалять перед тем как распечатать, так как она тоже печатается.

К сообщению приложен файл:

1620669.jpg
(40.5 Kb)

 

Ответить

Serge_007

Дата: Пятница, 18.12.2020, 14:51 |
Сообщение № 17

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

[offtop]

-Как ребенка назвали?
-Маша.
-Хорошее имя, но намучается с ним пацан!


— А ещё, Леонид Аркадьевич, ребенка мы назвали в честь вашей передачи!
— Оооо, интересно, и как же?
— СекторПриз
— Даа-а, не самое лучшее имя для девочки…

:)


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Удаление формул в Microsoft Excel

Работа с формулами в Экселе позволяет значительно облегчить и автоматизировать различные вычисления. Вместе с тем, далеко не всегда нужно, чтобы результат был привязан к выражению. Например, при изменении значений в связанных ячейках, изменятся и итоговые данные, а в некоторых случаях это не нужно. Кроме того, при переносе скопированной таблицы с формулами в другую область значения могут «потеряться». Ещё одним поводом их спрятать может служить ситуация, когда вы не хотите, чтобы другие лица видели, как проводятся в таблице расчеты. Давайте выясним, какими способами можно удалить формулу в ячейках, оставив только результат вычислений.

Содержание

Процедура удаления

К сожалению, в Excel нет инструмента, который моментально убирал бы формулы из ячеек, а оставлял там только значения. Поэтому приходится искать более сложные пути решения проблемы.

http://lumpics.ru/how-to-enable-or-disable-Формула в Microsoft Excelmacros-in-excel/

Способ 1: копирование значений через параметры вставки

Скопировать данные без формулы в другую область можно при помощи параметров вставки.

  1. Выделяем таблицу или диапазон, для чего обводим его курсором с зажатой левой кнопкой мыши. Пребывая во вкладке «Главная», делаем щелчок по значку «Копировать», который размещен на ленте в блоке «Буфер обмена».

    Копирование в Microsoft Excel

  2. Выделяем ячейку, которая будет верхней левой ячейкой вставляемой таблицы. Выполняем щелчок по ней правой кнопкой мышки. Будет активировано контекстное меню. В блоке «Параметры вставки» останавливаем выбор на пункте «Значения». Он представлен в виде пиктограммы с изображением цифр «123».

Вставка в Microsoft Excel

После выполнения этой процедуры диапазон будет вставлен, но только в виде значений без формул. Правда при этом потеряется также и исходное форматирование. Поэтому форматировать таблицу придется вручную.

Таблица вставлена в Microsoft Excel

Способ 2: копирование специальной вставкой

Если вам нужно сохранить исходное форматирование, но вы не хотите тратить время на ручную обработку таблицы, то существует возможность для этих целей использовать «Специальную вставку».

  1. Копируем тем же способом, что и прошлый раз содержимое таблицы или диапазона.
  2. Выделяем всю область вставки или её левую верхнюю ячейку. Делаем щелчок правой кнопкой мыши, тем самым вызывая контекстное меню. В открывшемся списке выбираем пункт «Специальная вставка». Далее в дополнительном меню жмем на кнопку «Значения и исходное форматирование», которая размещается в группе «Вставить значения» и представляет собой пиктограмму в виде квадрата, где изображены цифры и кисточка.

Вставка с помощью специальной вставки в Microsoft Excel

После этой операции данные будут скопированы без формул, но при этом сохранится исходное форматирование.

Вставка с сохранением форматирования в Microsoft Excel

Способ 3: удаление формулы из исходной таблицы

До этого мы говорили, как убрать формулу при копировании, а теперь давайте выясним, как её удалить из исходного диапазона.

  1. Производим копирование таблицы любым из тех методов, о которых шел разговор выше, в пустую область листа. Выбор конкретного способа в нашем случае значения иметь не будет.
  2. Выделяем скопированный диапазон. Щелкаем по кнопке «Копировать» на ленте.

    Повторное копирование в Microsoft Excel

  3. Выделяем первоначальный диапазон. Щелкаем по нему правой кнопкой мыши. В контекстном списке в группе «Параметры вставки» выбираем пункт «Значения».

    Повторная вставка в Microsoft Excel

  4. После того, как данные были вставлены, можно удалить транзитный диапазон. Выделяем его. Вызываем контекстное меню кликом правой кнопки мыши. Выбираем в нем пункт «Удалить…».

    Удаление таблицы в Microsoft Excel

  5. Открывается небольшое окошко, в котором нужно установить, что именно нужно удалить. В конкретно нашем случае транзитный диапазон находится внизу от исходной таблицы, поэтому нам нужно удалить строки. Но если бы он располагался сбоку от неё, то следовало бы удалить столбцы, тут очень важно не перепутать, так как можно уничтожить основную таблицу. Итак, выставляем настройки удаления и жмем на кнопку «OK».

Настройки удаления в Microsoft Excel

После выполнения указанных действий все ненужные элементы будут удалены, а формулы из исходной таблицы исчезнут.

Способ 4: удаление формул без создания транзитного диапазона

Можно сделать ещё проще и вообще не создавать транзитный диапазон. Правда в этом случае нужно действовать особенно внимательно, ведь все действия будут выполняться в границах таблицы, а это значит, что любая ошибка может нарушить целостность данных.

  1. Выделяем диапазон, в котором нужно удалить формулы. Кликаем по кнопке «Копировать», размещенной на ленте или набираем на клавиатуре комбинацию клавиш Ctrl+C. Эти действия равнозначны.

    Копирование в программе Microsoft Excel

  2. Затем, не снимая выделения, кликаем правой кнопкой мыши. Запускается контекстное меню. В блоке «Параметры вставки» жмем на пиктограмму «Значения».

Вставка в программе Microsoft Excel

Таким образом, все данные будут скопированы и тут же вставлены, как значения. После этих действий формул в выделенной области не останется.

Формул в таблице нет Microsoft Excel

Способ 5: использование макроса

Для удаления формул из ячеек можно также использовать макросы. Но для этого нужно сначала активировать вкладку разработчика, а также включить саму работу макросов, если они у вас не активны. Как это сделать, можно узнать в отдельной теме. Мы же поговорим непосредственно о добавлении и использовании макроса для удаления формул.

  1. Переходим во вкладку «Разработчик». Кликаем по кнопке «Visual Basic», размещенной на ленте в блоке инструментов «Код».

    Переход в редактор макросов в Microsoft Excel

  2. Запускается редактор макросов. Вставляем в него указанный ниже код:

    Sub Удаление_формул() Selection.Value = Selection.Value End Sub

    После этого закрываем окно редактора стандартным способом, нажав на кнопку в правом верхнем углу.

    Редактор макросов в Microsoft Excel

  3. Возвращаемся к листу, на котором расположена интересующая нас таблица. Выделяем фрагмент, где расположены формулы, которые нужно удалить. Во вкладке «Разработчик» жмем на кнопку «Макросы», размещенную на ленте в группе «Код».

    Переход к макросам в Microsoft Excel

  4. Открывается окно запуска макросов. Ищем в нем элемент под названием «Удаление_формул», выделяем его и жмем на кнопку «Выполнить».

Запуск макроса в Microsoft Excel

После этого действия все формулы в выделенной области будут удалены, а останутся только результаты вычислений.

Максрос выполнил задачу в Microsoft Excel

Урок: Как включить или отключить макросы в Excel

Урок: Как создать макрос в Excel

Способ 6: Удаление формулы вместе с результатом

Впрочем, бывают случаи, когда нужно удалить не только формулу, но и результат. Сделать это ещё проще.

  1. Выделяем диапазон, в котором размещены формулы. Кликаем правой кнопкой мыши. В контекстном меню останавливаем выбор на пункте «Очистить содержимое». Если вы не хотите вызывать меню, то можно просто после выделения нажать клавишу Delete на клавиатуре.

    Очистка содержимого в Microsoft Excel

  2. После этих действий все содержимое ячеек, включая формулы и значения, будет удалено.

Содержимое очищено в Microsoft Excel

Как видим, существует целый ряд способов, с помощью которых можно удалить формулы, как при копировании данных, так и непосредственно в самой таблице. Правда, штатного инструмента Excel, который автоматически убирал бы выражение одним кликом, к сожалению, пока не существует. Таким способом можно удалить только формулы вместе со значениями. Поэтому приходиться действовать обходными путями через параметры вставки или же с применением макросов.

Табличный процессор Эксель имеет огромное количество функций, позволяющих эффективно работать с большими объёмами информации и разнообразными вычислениями. Часто бывает так, что пользователю нужно удалить формулу, с помощью которой был рассчитан результат, а итоговый показатель оставить в ячейке. В статье будет рассмотрено несколько методов удаления формул из ячеек табличного процессора Excel.

Содержание

  1. Удаление формул
  2. Метод 1: копируем значения с помощью параметров вставки
  3. Метод 2: используем специальную вставку
  4. Метод 3: удаляем формулы в исходной таблице
  5. Метод 4: удаляем формулы без копирования в другое место
  6. Метод 5: применяем макрос
  7. Метод 6: удаляем формулу вместе с результатом вычислений
  8. Удаление формулы с сохранением результатов
  9. Удаление формулы массива
  10. Заключение

Удаление формул

В табличном процессоре отсутствует интегрированный инструмент, предназначенный для удаления формул. Это действие возможно реализовать другими методами. Разберем каждый более подробно.

Метод 1: копируем значения с помощью параметров вставки

Первый вариант является самым быстрым и легким. Способ позволяет скопировать наполнение сектора и перенести его в альтернативное место, только уже без формул. Подробная инструкция выглядит следующим образом:

  1. Производим выделение ячейки или диапазона ячеек, которые будем в дальнейшем копировать.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

1
  1. Жмем ПКМ по произвольному элементу выделенной области. Появляется небольшое контекстное меню, где следует выбрать элемент «Копировать». Альтернативный вариант копирования – использование комбинации клавиш «Ctrl+C». Третий вариант копирования значений – использование кнопки «Копировать», располагающейся на ленте инструментов раздела «Главная».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

2
6-sposobov-kak-udalit-formulu-iz-yachejki-excel
3
  1. Выбираем ту ячейку, в которую желаем вставить ранее скопированную информацию, кликаем по ней ПКМ. Открывается знакомое нам контекстное меню. Находим блок «Параметры вставки» и нажимаем на элемент «Значения», который имеет вид иконки с изображением последовательности цифр «123».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

4
  1. Готово! Скопированная информация без формул перенеслась на новую выбранную область.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

5

Метод 2: используем специальную вставку

Существует «Специальная вставка», которая помогает произвести копирование информации и вставить ее в ячейки с сохранением изначального форматирования. Вставленная информация не будет содержать формулы. Подробная инструкция выглядит следующим образом:

  1. Выделяем диапазон, который желаем вставить в определенное место и копируем любым удобным для вас методом.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

6
  1. Перемещаемся в ячейку, с которой желаем начать вставку скопированных данных, нажимаем на нее ПКМ. Открылось небольшое контекстное меню. Находим элемент «Специальная вставка» и щелкаем на значок стрелочки, располагающийся правее от этого элемента. В отобразившемся дополнительном меню кликаем на надпись «Значения и исходное форматирование».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

7
  1. Готово, задача успешно выполнена!

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

8

Метод 3: удаляем формулы в исходной таблице

Далее поговорим о том, как удалить формулы в первоначальной таблице. Подробная инструкция выглядит следующим образом:

  1. Производим копирование диапазона ячеек любым имеющимся способом. К примеру, используя комбинацию клавиш «Ctrl+C».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

9
  1. Как и в ранее рассмотренном способе, производим вставку с сохранением первоначального форматирования в другой сектор рабочего листа. Не убирая выделение, снова производим копирование данных.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

10
  1. Перемещаемся в сектор, находящийся в левом верхнем углу, нажимаем ПКМ. Появляется знакомое нам контекстное меню, в котором следует выбрать элемент «Значений».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

11
  1. Наполнение ячеек без формул скопировалось в изначальное место. Теперь можно произвести удаление остальных таблиц, которые были нам необходимы для процедуры копирования. Выделяем при помощи ЛКМ дубликаты таблицы и кликаем по области выделения ПКМ. Появляется контекстное меню, в котором следует нажать на элемент «Удалить».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

12
  1. На экране отобразилось небольшое окошко «Удаление ячеек». В нем можно выбрать, что именно удалить. Ставим пункт около надписи «Строку» и кликаем «ОК». В нашем примере в правой части от выделенной области нет ячеек с данными, поэтому вариант «Ячейки, со сдвигом влево» тоже подходит.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

13
6-sposobov-kak-udalit-formulu-iz-yachejki-excel
14
  1. Дубликаты таблиц полностью удалены с рабочего листа. Мы реализовали замену формул на конкретные показатели в исходной таблице.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

15

Метод 4: удаляем формулы без копирования в другое место

Некоторых пользователей табличного процессора Эксель может не устроить предыдущий метод, так как он подразумевает большое количество манипуляций, в которых можно запутаться. Существует еще одна вариация удаления формул из исходной таблицы, но она требует внимательности со стороны пользователя, так как все действия будут проводиться в самой табличке. Важно делать все аккуратно, чтобы случайно не произвести удаление нужных значений или не «поломать» структуру данных. Подробная инструкция выглядит следующим образом:

  1. Первоначально, как и в прошлых методах, выделяем ту область, из которой необходимо произвести удаление формул любым удобным вам методом. Далее совершаем копирование значений одним из трех способов.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

16
  1. Не убирая выделения, жмем по области ПКМ. Появляется контекстное меню. В блоке команд «Параметры вставки» нужно выбрать элемент «Значения».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

17
  1. Готово! В результате выполненных манипуляций в исходной таблице формулы заменились конкретными значениями вычислений.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

18

Метод 5: применяем макрос

Следующий способ подразумевает применение макросов. Перед тем, как приступить к удалению формул из таблицы и замене их конкретными значениями, нужно произвести включение «Режима разработчика». Изначально в табличном процессоре этот режим находится в выключенном состоянии. Подробная инструкция включения «Режима разработчика»:

  1. Кликаем на вкладку «Файл», которая располагается в верхней части интерфейса программы.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

19
  1. Открылось новое окно, в котором в левом списке элементов необходимо спуститься в самый низ и кликнуть «Параметры».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

20
  1. В правой части отобразились настройки. Находим раздел «Настроить ленту» и нажимаем на него. Появилось два окошка со списками. В правом списке находим пункт «Разработчик» и ставим около него галочку. После выполнения всех манипуляций нажимаем «ОК».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

21
  1. Готово! Режим разработчика включен.

Подробная инструкция по применению макроса:

  1. Перемещаемся во вкладку «Разработчик», которая находится в верхней части интерфейса табличного процессора. Далее находим группу параметров «Код» и выбираем элемент “Visual Basic”.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

22
  1. Выбираем нужный лист документа, а затем кликаем на элемент “View Code”. Проделать ту же самую операцию можно двойным кликом ЛКМ по нужному листу. После проведения этого действия на экране появляется редактор макросов. В поле редактора вставляем следующий код:

Sub Удаление_формул()
Selection.Value = Selection.Value
End Sub

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

23
  1. После ввода кода жмем на крестик в правом верхнем углу экрана.
  2. Производим выделение диапазона, в котором располагаются формулы. Далее переходим в раздел «Разработчик», находим блок команд «Код» и нажимаем на элемент «Макросы».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

24
  1. Появилось небольшое окошко под названием «Макрос». Выбираем только что созданный макрос и жмем «Выполнить».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

25
  1. Готово! Все формулы в ячейках заменились результатами вычислений.

Метод 6: удаляем формулу вместе с результатом вычислений

Случается, что пользователю табличного процессора Эксель необходимо не только реализовать удаление формул, но и удалить результаты расчётов. Подробная инструкция выглядит следующим образом:

  1. Как и во всех предыдущих способах, начинаем свою работу с выделения диапазона, в котором располагаются формулы. Затем кликаем ПКМ по области выделения. На экране появилось контекстное меню. Находим элемент «Очистить содержимое» и нажимаем на него. Альтернативный вариант удаления – нажатие на клавишу «Delete».

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

26
  1. В результате проведенных манипуляций удалились все данные в выделенных ячейках.

6-sposobov-kak-udalit-formulu-iz-yachejki-excel

27

Удаление формулы с сохранением результатов

Рассмотрим подробно, как удалить формулу с сохранением результата. Этот способ предполагает использование свойства «Вставить значения». Подробная инструкция выглядит следующим образом:

  1. Выделяем ячейку или же диапазон, где располагается необходимая нам формула. Если она является формулой массива, то первоначально следует произвести выделение всех ячеек в диапазоне, в которых содержится формула массива.
  2. Нажимаем на ячейку в формуле массива.
  3. Переходим в раздел «Главная» и находим блок инструментов «Редактирование». Здесь кликаем на элемент «Найти и выделить», а затем на кнопку «Перейти».
  4. В следующем окошке нажимаем на «Дополнительный», а затем на элемент «Текущий массив».
  5. Возвращаемся в раздел «Главная», находим элемент «Копировать» и щелкаем на него.
  6. После проведения процесса копирования нажимаем на стрелочку, которая находится под кнопкой «Вставить». На последнем этапе жмем «Вставить значения».

Удаление формулы массива

Чтобы произвести процедуру удаления формулы массива, первоначально нужно убедиться, что выделены все ячейки в диапазоне, содержащие нужную формулу. Подробная инструкция выглядит следующим образом:

  1. Выбираем нужный сектор в формуле массива.
  2. Перемещаемся в раздел «Главная». Находим блок инструментов «Редактирование» и жмем на элемент «Найти и выделить».
  3. Далее нажимаем «Перейти», а после на элемент «Дополнительный».
  4. Щёлкаем на «Текущий массив».
  5. В завершении процедуры нажимаем «Delete».

Заключение

Подводя итог, можно сказать, что в удалении формул из ячеек табличного процессора нет ничего сложного. Существует огромное количество методов удаления, благодаря чему каждый сможет подобрать для себя наиболее удобный.

Оцените качество статьи. Нам важно ваше мнение:

  • Удалить формулы и сохранить данные
    • С помощью мыши
    • С помощью клавиатуры (сочетания клавиш)
  • Перевод формул в их текст (без сохранения результирующих значений)
    • В видимых ячейках, пропуская скрытые фильтром
    • Удалить формулы на листе / во всех листах
    • Удаление формул надстройкой !SEMTools

Удалить формулы в Excel можно множеством способов, каждый из которых сильно зависит от поставленной задачи. Как правило, при этом требуется сохранить в ячейках какие-то значения. Вариантов два:

  • это значения, вычисленные этими формулами,
  • сам текст формул.

Помимо вопроса о том, что оставить в ячейках после удаления формул, могут быть и другие вводные, такие как:

  • Где удалять формулы:
    • в диапазоне,
    • во всем листе,
    • во всей книге.
  • Нужно ли удалять формулы в скрытых/отфильтрованных строках.

Эта статья даст ответы на все вопросы выше.

Удалить формулы и сохранить данные

Наиболее распространенная задача — когда нужно оставить в ячейке результат формулы, а саму формулу удалить. В понимании Excel результат формулы является значением ячейки.

Так вот, чтобы перевести формулы в значения, нужно:

  1. Выделить нужный диапазон ячеек (или одну ячейку, всю строку, столбец или весь лист).
  2. Скопировать выделенное.
  3. Вставить процедурой вставки “как значения”.

Можно сделать это клавишами мыши или клавиатуры — суть процедуры от этого не меняется.

С помощью мыши

Не самый быстрый (так как работает только одна рука), но самый удобный и понятный способ. Выделяем, копируем и в контекстном меню (вызывается нажатием правой кнопки мыши по выделенному диапазону) команду со скриншота:

Команда “Вставить как значения” в командном меню вставки в Excel

С помощью клавиатуры (сочетания клавиш)

Копирование делается в соседний столбец или другую книгу. Я предпочитаю этот способ, хоть он и экономит лишь секунды.

Пошагово:

  1. Выделяем диапазон:
    • мышью, если это столбец, строка или лист,
    • сочетаниями Ctrl + Shift + стрелки или Shift + стрелки, если ячейки или диапазоны ячеек.
  2. Копируем сочетанием Ctrl + C.
  3. Перемещаемся стрелками к диапазону, куда нужно вставить данные, и/или нажимаем Ctrl + Tab для перехода в другую книгу.
  4. Вызываем контекстное меню клавишей на клавиатуре. Иногда ее нет, но обычно на клавиатурах она расположена рядом с правым Alt.
  5. Стрелками перемещаемся к команде (Вниз-вниз-вправо).
  6. Нажимаем Enter.

Может показаться, что тут целых 6 шагов и это долго, но попробуйте приловчиться и сравнить работу на больших диапазонах ячеек — мышью будет точно дольше.

Перевод формул в их текст (без сохранения результирующих значений)

Иногда требуется для демонстрационных целей преобразовать ячейки, оставив текст формул. В таких случаях полезной будет процедура замены.

Excel — Найти и заменить
Выделяем диапазон формул, жмем Ctrl + H (“эйч”, англ.), чтобы запустить диалоговое окно “Найти и заменить” и в соответствующих окошках вбиваем значения
image
Апостроф в результате замены не будет виден, и формулы будут выглядеть идентично их написанию, однако восприниматься программой будут как текст

В видимых ячейках, пропуская скрытые фильтром

Вот здесь при использовании стандартных решений уже могут возникнуть проблемы. Процедура вставки “как значения” даст сбой и повредит данные, если в копируемом диапазоне есть отфильтрованные строки.

Вот код VBA-процедуры, который позволяет обойти проблему:

Sub remFormulas()
    Dim cell As Range
    For Each cell In Selection
        If Not (cell.EntireRow.Hidden = True Or cell.EntireColumn.Hidden = True) Then
            cell.Value2 = cell.Value2
        End If
    Next cell
End Sub

Он отработает на отлично, как и та же процедура надстройки. В синтаксисе кода присутствует проверка ячеек на предмет того, скрыты ли они.

удалить формулы в отфильтрованных строках

Удаляем формулы только в отфильтрованных строках, пропуская скрытые

Удалить формулы на листе / во всех листах

Когда нужно быстро избавиться от всех формул на листе или во всей книге, также могут помочь соответствующие простенькие процедуры, написанные на VBA:

Sub удалитьФормулыСоВсегоЛиста()
ActiveSheet.UsedRange.Value2 = ActiveSheet.UsedRange.Value2
End Sub
Sub удалитьФормулыИзВсейКниги()
Dim w As Worksheet
For Each w In Worksheets
  With w.UsedRange
    .Value = .Value
  End With
Next w
End Sub

Ими можно воспользоваться без внедрения в свои файлы, подключив надстройку !SEMTools.

удалить формулы со всего листа

Удаляем формулы со всего листа с !SEMTools

Удаление формул надстройкой !SEMTools

Быструю замену формул на значения в выделенном диапазоне без необходимости копирования и особой вставки я реализовал в своей надстройке для Excel !SEMTools.

Для тех, кто не готов разбираться в VBA, после установки !SEMTools запуск процедуры доступен в два клика из соответствующего меню в группе «УДАЛИТЬ». Функционал относится к бесплатным возможностям !SEMTools (работают без ограничений в любой версии).

Перевод формул в значения

Удалить формулы и сохранить значения в Excel с !SEMTools

Хотите так же быстро удалять формулы в Excel?
!SEMTools ускорит эту и сотни других задач!

Понравилась статья? Поделить с друзьями:
  • Макрос удаление пробела excel
  • Макросы excel vba 2003
  • Макроса excel на разных листах
  • Макрос убирает пробелы в excel
  • Макрос это модуль в excel