Написал функцию по вставке тега <strong> в строку, если текст выделен полужирным.
Public Function StrongTeg(rng As Range) As String
Dim vStr As String, vTempStr As String
Dim j As Integer, vLen As Integer
Dim vBoldState As Boolean
vStr = ""
vTempStr = rng.Text
vBoldState = False
vLen = rng.Characters.Count
For j = 1 To vLen
If Not rng.Characters(j, 1).Font.Bold Then 'обычный
If Not vBoldState Then 'был обычный шрифт и остался обычный
vStr = vStr + Mid(vTempStr, j, 1)
Else 'был полужирный стал обычный, вставляем </strong>
vStr = vStr + "</strong>" + Mid(vTempStr, j, 1)
vBoldState = False
End If
Else 'полужирный
If Not vBoldState Then 'был обычный стал полужирный, вставляем <strong>
vStr = vStr + "<strong>" + Mid(vTempStr, j, 1)
vBoldState = True
Else 'был и остался полужирный
vStr = vStr + Mid(vTempStr, j, 1)
End If
End If
Next j
If vBoldState Then vStr = vStr + "</strong>"
StrongTeg = vStr
End Function
Очень долго считает. Если вычислять для большого количества ячеек, то вообще виснет.
Что неправильно в функции? Есть ли другой, более быстрый способ для заключения полужирного текста в тег strong?
Public Function StrongTeg(rng As Range) As String
Dim vStr As String, vTempStr As String
Dim j As Integer, vLen As Integer
Dim vBoldState As Boolean
vStr = ""
vTempStr = rng.Text
vBoldState = False
vLen = rng.Characters.Count
For j = 1 To vLen
If Not rng.Characters(j, 1).Font.Bold Then 'обычный
If Not vBoldState Then 'был обычный шрифт и остался обычный
vStr = vStr + Mid(vTempStr, j, 1)
Else 'был полужирный стал обычный, вставляем </strong>
vStr = vStr + "</strong>" + Mid(vTempStr, j, 1)
vBoldState = False
End If
Else 'полужирный
If Not vBoldState Then 'был обычный стал полужирный, вставляем <strong>
vStr = vStr + "<strong>" + Mid(vTempStr, j, 1)
vBoldState = True
Else 'был и остался полужирный
vStr = vStr + Mid(vTempStr, j, 1)
End If
End If
Next j
If vBoldState Then vStr = vStr + "</strong>"
StrongTeg = vStr
End Function
Очень долго считает. Если вычислять для большого количества ячеек, то вообще виснет.
Что неправильно в функции? Есть ли другой, более быстрый способ для заключения полужирного текста в тег strong?