Сначала сделайте копию вашего файла, на случай, если что-то пойдет не так.
Затем создайте следующую подпрограмму VBA:
Sub StillLearning1()
For Each c In Range("A1:Z100")
If Not c.HasFormula Then
temp = WorksheetFunction.Substitute(c.Value, "*", "")
If Left(temp, 1) = "=" Or Left(temp, 1) = "'" Then
temp = "'" & temp
End If
c.Value = temp
End If
Next c
End Sub
См. Как добавить VBA в MS Office? для получения общей информации о том, как использовать VBA в Excel и других приложениях Microsoft Office.
StillLearning1 - это просто произвольное имя подпрограммы; используйте любое имя, которое вы хотите.
Измените A1:Z100 на диапазон, в котором вы хотите произвести замену.
Надеюсь, все остальное само за себя
For Each c ... Next c - это цикл, который выполняется 2600 раз (для диапазона выборки A1:Z100 ; 26 столбцов × 100 строк), причем c идет в каждую ячейку в этом диапазоне.
c.HasFormula - это логическое значение, которое сообщает, содержит ли ячейка c формулу.
Это немного более надежно, чем проверка того, является ли первый символ = , потому что ячейка, содержащая '=== является строковым (текстовым) значением, но будет выглядеть как === , и поэтому будет казаться, что начинается с = .
Если ячейка содержит формулу; оставить это в покое.
Если он не содержит формулу, сделайте замену.
- Проверьте результат замены, чтобы увидеть, начинается ли он с
= или ' .
Если это произойдет, назначение его непосредственно ячейке приведет к тому, что Excel будет интерпретировать этот первый символ нежелательным образом, поэтому защитите его, добавив ' .
Затем запустите подпрограмму.