1

Как найти и заменить символ апострофа (') в Excel, когда это первый символ в ячейке?

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

2 ответа2

2

Вот пара макросов, чтобы дать вам желаемую функциональность:

Sub RemoveFormulas()
   For Each r In ActiveSheet.UsedRange.Cells.SpecialCells(xlCellTypeFormulas)
      r.Value = Replace(r.Formula, "=", "'@")
   Next r
End Sub

Sub RestoreFormulas()
   Dim r As Range
   For Each r In ActiveSheet.UsedRange.Cells.SpecialCells(xlCellTypeConstants)
      If r.PrefixCharacter = "'" Then
         r.Formula = Replace(r.Value, "'@", "=")
      End If
   Next r
End Sub
1

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

Если вы экспортируете свою таблицу в файл «Текст (с разделителями табуляцией)», а затем повторно импортируете ее после изменения знака = на «@», она должна повторно импортировать символы как фактическую одинарную кавычку, а не как escape-символ. Тогда вы сможете запустить поиск и заменить '@ to =.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .