Сценарий VBA для Excel 2013 необходим для
У меня есть несколько ячеек, которые имеют строку текста, которые частично выделены жирным шрифтом и частично не выделены жирным шрифтом. Мне нужно удалить выделенную часть текста в ячейках
Пример:
lname1, fname1 email1@email.com
lname2, fname2 email2@email.com
lname3, fname3 email3@email.com
Я хотел бы удалить жирный "lname, fname" и просто сохранить адрес электронной почты в ячейке.
1 ответ
Решение
До:
Код:
Sub BoldKiller()
Dim L As Long, r As Range, t As String, i As Long
For Each r In Intersect(ActiveSheet.UsedRange, Selection)
t = r.Text
If t <> "" Then
L = Len(t)
For i = L To 1 Step -1
If r.Characters(i, 1).Font.Bold = True Then
r.Characters(i, 1).Delete
End If
Next i
End If
Next r
End Sub
и после:
EDIT#1:
Этот макрос извлекает жирные символы и помещает их в соседний столбец:
Sub BoldKiller2()
Dim L As Long, r As Range, t As String, i As Long
Dim rr As Range
For Each r In Intersect(ActiveSheet.UsedRange, Selection)
t = r.Text
If t <> "" Then
Set rr = r.Offset(0, 1)
rr.Font.Bold = True
L = Len(t)
For i = L To 1 Step -1
If r.Characters(i, 1).Font.Bold = True Then
rr.Value = r.Characters(i, 1).Text & rr.Value
r.Characters(i, 1).Delete
End If
Next i
End If
Next r
End Sub
До:
и после: