2012-02-27 31 views
5

Tôi có chuỗi strInfo, có chứa "Nhân viên John Maybach".Có thể thực hiện nhiều văn bản màu trong một ô Excel không?

Làm cách nào để làm cho văn bản màu đen "Nhân viên" và phần "John Maybach" màu đỏ?

Phần "Nhân viên" sẽ luôn không đổi, nhưng phần tên của nhân viên sẽ thay đổi sao cho tên đó có thể là tên gồm 2 phần (John Doe) hoặc tên gồm 3 phần (John Allen Doe) hoặc chỉ một cái tên đầu tiên (John).

Tôi muốn từ "Nhân viên" luôn có màu đen, nhưng phần còn lại của văn bản trong ô, phần tên, màu đỏ. Điều này có thể không?

Trả lời

7

Các macro recorder là bạn của bạn:

Dim fixedLength As Long 
fixedLength = Len("Employee") 
ActiveCell.FormulaR1C1 = "Employee Some Employee" 
With ActiveCell.Characters(Start:=fixedLength + 2, Length:=Len(ActiveCell) - fixedLength - 1).Font 
    .Color = vbRed 
End With 
+4

Kể từ workbook có thể có bảng màu khác nhau, bạn có khả năng có thể nhận được kết quả khác nhau sử dụng 'ColorIndex', vì vậy một cái gì đó như' .Color = vbRed' có thể được an toàn hơn. –

+1

Tôi muốn đề xuất đặt logic đó vào macro sự kiện Worksheet_Change xem cột đó để chỉnh màu được áp dụng tự động khi bạn nhập tên. –

+0

@TimWilliams Tốt bắt. Đã chỉnh sửa. – assylias

Các vấn đề liên quan