Chào các bác.
Em muốn tô màu cho từng ký tự trong cells thì phải dùng code như thế nào?
Em cố tình dùng bộ thu macro nhưng không thu được
Range("C2").Select
ActiveCell.FormulaR1C1 = "danh"
With ActiveCell.Characters(Start:=1, Length:=1).Font
.Name = "Arial"
.FontStyle = "Regular"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = -16776961
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
With ActiveCell.Characters(Start:=2, Length:=1).Font
.Name = "Arial"
.FontStyle = "Regular"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0.399975585192419
.ThemeFont = xlThemeFontNone
End With
With ActiveCell.Characters(Start:=3, Length:=1).Font
.Name = "Arial"
.FontStyle = "Regular"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
With ActiveCell.Characters(Start:=4, Length:=1).Font
.Name = "Arial"
.FontStyle = "Regular"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = -11489280
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Em dùng bộ thu, kết quả như sau : Chỉ cần bỏ bớt những code không cần thiết và thêm for vào là ok.
Sub tomau_kytu()
Set Rng = [a1].CurrentRegion
For Each clls In Rng
For i = 1 To Len(clls.Value)
With clls.Characters(Start:=i, Length:=1).Font
.ColorIndex = i
End With
Next
Next
End Sub
Cảm ơn Danh nhéCác bác test thử đoạn này xem thế nào?
PHP:Sub tomau_kytu() Set Rng = [a1].CurrentRegion For Each clls In Rng For i = 1 To Len(clls.Value) With clls.Characters(Start:=i, Length:=1).Font .ColorIndex = i End With Next Next End Sub
Sub tomau_kytu()
Set Rng = [a1].CurrentRegion
For Each clls In Rng
j = j + 1
For i = 1 To Len(clls.Value)
With clls.Characters(Start:=i, Length:=1).Font
.ColorIndex = (i + j) Mod 57
End With
Next
Next
End Sub
Sub tomau_kytu()
Set Rng = [a1].CurrentRegion
For Each clls In Rng
j = j + 1
With clls
If IsNumeric(.Value) Then .Value = "'" & .Value
For i = 1 To Len(.Value)
With .Characters(Start:=i, Length:=1).Font
.ColorIndex = (i + j) Mod 57
End With
Next
End With
Next
End Sub
boyxin thử làm thủ công với 1 cells là number xem có được không? Tôi nghĩ có lẽ phải làm thủ công được thì code mới làm được.Vẫn còn 1 vấn đề chưa xử lý được:
khi nội dung trong cells là number thì code không tác dụng. Mong được các bác xem lại giúp
Vẫn còn 1 vấn đề chưa xử lý được:PHP:Sub tomau_kytu() Set Rng = [a1].CurrentRegion For Each clls In Rng j = j + 1 For i = 1 To Len(clls.Value) With clls.Characters(Start:=i, Length:=1).Font .ColorIndex = (i + j) Mod 57 End With Next Next End Sub
khi nội dung trong cells là number thì code không tác dụng. Mong được các bác xem lại giúp