Я должен макрос
один для изменения текста в ранжированном на верхний регистр, а другой для ясного ранжированного контента.
Это первый
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Application.Intersect(Target, Range("B9:B28")) _
Is Nothing) Then
With Target
If Not .HasFormula Then
Application.EnableEvents = False
.Value = UCase(.Value)
Application.EnableEvents = True
End If
End With
End If
End Sub
Работает нормально, и когда я ввожу значение, оно меняет его на прописные, но когда я запускаю этот макрос, чтобы очистить содержимое диапазона
Sub clearCellContentsKeepFormatting()
Dim Answer As VbMsgBoxResult
Answer = MsgBox("Are you sure about this?", vbYesNo + vbQuestion, "Clear All Proudcts")
If Answer = vbYes Then
Range("B9", "B28").ClearContents
Range("C9", "C28").ClearContents
Else
Exit Sub
End If
End Sub
Я получаю
Ошибка выполнения 13 несоответствие типов
И когда я нажимаю кнопку отладки, она помечает эту строку
.Value = UCase(.Value)
Итак, как мне это исправить?