Я хочу только покрасить фамилию. Например:Как покрасить имя фамилию в Excel
Rohit Kumar Singh
Rahul Ranjan Singh
Kaushal Kishor Singh
Я хочу только цвет фамилию. Возможна ли с vba или без нее.
Я хочу только покрасить фамилию. Например:Как покрасить имя фамилию в Excel
Rohit Kumar Singh
Rahul Ranjan Singh
Kaushal Kishor Singh
Я хочу только цвет фамилию. Возможна ли с vba или без нее.
В VBA это сделать:
Sub rohit()
Dim cel As Range
Dim i As Integer
For Each cel In Selection.Cells
If cel.value <> "" Then
Dim lastname As String
if Ubound(Split(cel, " ")) > 0 then
lastname = Split(cel, " ")(1)
Else
lastname = cel.Value
End If
For i = 1 To Len(cel)
If Mid(cel, i, Len(lastname)) = lastname Then
cel.Characters(i, Len(lastname)).Font.Color = vbRed
Exit For
End If
Next i
End If
Next cel
End Sub
Это изменит второе слово в строке.
Ключ к которому слово изменяется с этой строкой:
lastname = Split(cel, " ")(1)
Split
функция возвращает массив, первое слово равно 0, второй 1 и так далее. Число после функции определяет, какое слово в этом массиве будет возвращено.
Если количество слов неизвестны и последнее слово было тогда использовать:
lastname = Split(cel, " ")(Ubound(Split(cel, " ")))
Это становится верхней границей массива или последним. Если вы хотите, предпоследний, и она будет меняться, то используйте:
lastname = Split(cel, " ")(Ubound(Split(cel, " "))-1)
Это позволит вам получить любое слово в зависимости от желаемого рисунка.
Также он основан на выборе.
@rohitsingh Это работало для вас? –
Большое вам спасибо. –
@RohitSingh Если это помогло, пожалуйста, обратите внимание на правильность маркировки. –