thonguyen487912
Thành viên mới
- Tham gia
- 5/5/22
- Bài viết
- 7
- Được thích
- 0
- Giới tính
- Nữ
- Nghề nghiệp
- Nhân viên văn phòng
giá trị màu từ {255,12419407,10498160,411800,15773696,255}([^|]*?\[FB.*?)\] *)(?:\||//)? bao nhiêu vị trí thì nhân lên
có cách nào sử dụng conditional formatting được không ạBạn thử vận dụng hàm bài viết bên dưới:
Bạn chỉ cần chép mã vào Module trong VBE ở ứng dụng của bạn, sau đó gõ công thức vào ô tùy ý:
=S_Find("([^|]*?)(?:\||//)([^|]*?)(?:\||//)?([^|]*?)(?:\||//)?([^|]*?)(?:\||//)?([^|]*?)(?:\||//)?([^|]*?)(?:\||//)?([^|]*?)(?:\||//)?",A1:A2,{255,12419407,10498160,411800,15773696,255},0,FALSE,TRUE)
Nếu bạn muốn thêm số vị trí thì thêm ([^|]*?)(?:\||//)? và giá trị màu vào mảng {}
Tìm kiếm, định dạng phông và tô màu chuỗi với hàm UDF Excel
TÌM KIẾM, ĐỊNH DẠNG PHÔNG VÀ TÔ MÀU CHUỖI TÌM ĐƯỢC với Hàm S_Find và S_Find2 S_Find - Tìm kiếm và định dạng trực tiếp tại ô chứa giá trị S_Find2 - Mang giá trị đến một vùng mới sau đó tìm kiếm và định dạng (Vì Excel không cho phép định dạng phông thành phần chuỗi tại một ô...www.giaiphapexcel.com
cảm ơn anh nhiều, đã thành công ạcó cách nào sử dụng conditional formatting được không ạ
Option Explicit
Sub test()
Dim i&, k&, cell As Range, letter As String, arr()
For Each cell In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row) ' Gia su cot A chua chuoi muon tach mau
If Len(cell) = 0 Then GoTo Thoat
k = 0
ReDim arr(1 To Len(cell), 1 To 2)
For i = 1 To Len(cell)
letter = cell.Characters(i, 1).Text
If InStr(1, "|/", letter) Then ' xet cac ky tu | hoac /. Neu co them ky tu muon tach thi ghep them vao
k = k + 1
arr(k, 1) = i
If k = 1 Then
arr(k, 2) = i
Else: arr(k, 2) = i - arr(k - 1, 1)
End If
End If
Next
For i = 1 To k
cell.Characters(arr(i, 1) + 1, arr(k, 2) - 3).Font.Color = _
WorksheetFunction.Choose(((i - 1) Mod 4) + 1, vbRed, vbBlue, vbMagenta, vbCyan)
Next
Thoat:
Next
End Sub
dạ. em đã làm được. cảm ơn anh rất nhiều ạ .Cách khác dùng sub:
PHP:Option Explicit Sub test() Dim i&, k&, cell As Range, letter As String, arr() For Each cell In Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row) ' Gia su cot A chua chuoi muon tach mau If Len(cell) = 0 Then GoTo Thoat k = 0 ReDim arr(1 To Len(cell), 1 To 2) For i = 1 To Len(cell) letter = cell.Characters(i, 1).Text If InStr(1, "|/", letter) Then ' xet cac ky tu | hoac /. Neu co them ky tu muon tach thi ghep them vao k = k + 1 arr(k, 1) = i If k = 1 Then arr(k, 2) = i Else: arr(k, 2) = i - arr(k - 1, 1) End If End If Next For i = 1 To k cell.Characters(arr(i, 1) + 1, arr(k, 2) - 3).Font.Color = _ WorksheetFunction.Choose(((i - 1) Mod 4) + 1, vbRed, vbBlue, vbMagenta, vbCyan) Next Thoat: Next End Sub