У меня есть книга Excel, содержащая 10-15 листов, во всей книге у меня есть несколько зарегистрированных символов товарного знака, набранных как текст в ячейках (отображается как ®). Мне нужен макрос, который может проходить через содержимое всех ячеек, найти ® и надстроить эту часть ячейки.Надпись (R) по всей книге - VBA
Я сделал черновик ниже, но получаю ошибку «Объектная переменная или с переменной блочной переменной».
Sub Superscript()
Application.ScreenUpdating = False
Dim sht As Worksheet
For Each sht In Worksheets
sht.Activate
Dim Match As Variant, start As Variant, pos As Long, cnt As Integer
With ActiveSheet
Set Match = .Cells.Find("®", LookIn:=xlValues, lookat:=xlPart) ' Find the first match in the active sheet
If Not Match Is Nothing Then
start = Match.Address
Do
cnt = Len(Match.Value) - Len(WorksheetFunction.Substitute(Match.Value, "®", ""))
pos = InStr(Match.Value, "®")
Do
Match.Characters(pos, 1).Font.Superscript = True
pos = InStr(pos + 1, Match.Value, "®")
cnt = cnt - 1
Loop While cnt > 0
Set Match = .Cells.FindNext(Match)
Loop While Not Match Is Nothing And Match.Address <> start
End If
End With
Next sht
Application.ScreenUpdating = True
End Sub
Большое спасибо за подробный ответ. При запуске вашего кода выше я получаю ту же ошибку для строки «Loop While fnd.Address <> frst» – user2022458