У меня ошибка в коде, он говорит, что .formula = TheFormula
(переменная) не установлена. Пожалуйста, помогите мне решить этот сценарий. Я просто хочу скрыть формулу, когда я щелкнул значение ячейки.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng As Range
Static Cell As Range
Static TheFormula As String
Set Rng = Range("n4:o25")
If Not Application.Intersect(Target, Rng) Is Nothing Then
If Not Cell Is Nothing Then
Cell.Formula = TheFormula
End If
Set Cell = ActiveCell
With Cell
TheFormula = .Formula
.Value = .Value
End With
Else
With Cell
.Formula = TheFormula
End With
End If
End Sub
У вас есть после if
:
Set Cell = ActiveCell
но этого не хватает в вашей else
части.
Используйте следующий код. Он удаляет формулу (сохраняет только значение), если вы выберете любую ячейку в диапазоне «n4: o25», но если вы выберете что-то еще, она ничего не сделает.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng As Range
Static Cell As Range
Set Rng = Range("n4:o25")
If Not Application.Intersect(Target, Rng) Is Nothing Then
Set Cell = ActiveCell
If Not Cell Is Nothing Then
Cell.Value = Cell.Value
End If
End If
End Sub
МАШААЛЛАХ! Большое спасибо, сэр! Код идеален!