Выделение/скрытие текстовых ячеек с числами макросом:
Sub FindNumberAsText()
Dim Rng As Range, ac As Range, BlankOrConst As XlCellType
On Error GoTo exit_
Set ac = ActiveCell
' Обрабатывать столбец активной ячейки
' Можно при желании и так: Set Rng = Selection
With ac
Set Rng = Intersect(.EntireColumn, .Parent.UsedRange)
Rng.EntireRow.Hidden = False
Rng.Select
.Activate
End With
' Запрос скрыть или отобразить
Select Case MsgBox("Да - отобразить текст с числами, Нет - скрыть", vbYesNoCancel + vbDefaultButton2, "Диапазон: " & Rng.Address(0, 0))
Case vbCancel: GoTo exit_
Case vbYes: BlankOrConst = xlCellTypeBlanks
Case Else: BlankOrConst = xlCellTypeConstants
End Select
' Отключить экран, события и пересчет
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
' Добавить вспомогательный столбец
Rng.Insert
' Обработать во вспом столбце требуемую формулу и удалить вспом столбец
With Rng.Offset(, -1)
.FormulaR1C1 = "=IF(AND(ISNUMBER(-RC[1]),ISTEXT(RC[1])),1,"""")"
.Value = .Value
.SpecialCells(BlankOrConst).EntireRow.Hidden = True
.EntireColumn.Delete
End With
exit_:
' Выделить прежнюю активную ячейку
ac.Select
' Включить экран, события и пересчет
With Application
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.ScreenUpdating = True
End With
If Err Then MsgBox Err.Description
End Sub