Làm cách nào để thay đổi màu chữ của một phần văn bản trong nhiều ô trong excel?

Bài viết minh họa cách đổi màu chữ cho một phần văn bản trong Excel bằng code VBA. Chúng tôi sẽ sử dụng các hệ thống màu và thuộc tính tích hợp sẵn của Excel trong các ví dụ của chúng tôi. Hãy đi sâu vào các ví dụ để hiểu rõ hơn về các ví dụ với mã VBA

Mục lục ẩn

Tải sách bài tập thực hành

3 phương pháp dễ dàng để thay đổi màu chữ cho một phần văn bản bằng VBA trong Excel

1. Thay đổi màu phông chữ cho một phần cụ thể của văn bản bằng VBA trong Excel

1. 1 Sử dụng phông chữ. Thuộc tính màu

1. 2 Áp dụng Hệ màu RGB

1. 3 Thực hiện thuộc tính ColorIndex

2. Chạy mã VBA để tìm và thay đổi màu phông chữ của phần được nhắm mục tiêu của văn bản

3. Thay đổi màu phông chữ cho một phần văn bản giữa hai ký tự đặc biệt bằng VBA trong Excel

Những điều cần ghi nhớ

Sự kết luận

Những bài viết liên quan

Tải sách bài tập thực hành

Tải xuống sách bài tập thực hành này để thực hành trong khi bạn đang đọc bài viết này

Thay đổi màu phông chữ cho một phần văn bản. xlsm

3 phương pháp dễ dàng để thay đổi màu chữ cho một phần văn bản bằng VBA trong Excel

Trong phần này, chúng tôi sẽ trình bày 3 ví dụ hiệu quả để thay đổi màu chữ cho một phần văn bản bằng cách sử dụng mã VBA Macro

Giới thiệu về Phạm vi. Thuộc tính ký tự của VBA Excel

Trong các ví dụ sau, chúng tôi sẽ sử dụng Phạm vi. Thuộc tính Characters của Excel để thay đổi màu chữ cho một phần văn bản. Thuộc tính này trả về một đối tượng ký tự cho phép chúng ta sửa đổi bất kỳ phần nào của chuỗi văn bản. Cú pháp của Range. Thuộc tính ký tự là-

biểu hiện. ký tự [bắt đầu, độ dài]

Trong đó, biểu thức đại diện cho một đối tượng Range i. e. , chúng ta cần chỉ định tham chiếu ô chứa chuỗi văn bản

bắt đầu- đối số này trả về ký tự đầu tiên của chuỗi văn bản dựa trên giá trị. Ví dụ: nếu giá trị đối số là 5, nó sẽ trả về ký tự thứ năm của chuỗi văn bản. Nếu giá trị là 1 hoặc bị bỏ qua, nó sẽ trả về một dãy ký tự bắt đầu bằng ký tự đầu tiên của chuỗi văn bản

độ dài- đối số này chỉ định số lượng ký tự sẽ trả về sau ký tự đầu tiên [được xác định bởi đối số bắt đầu]. Nhưng trong trường hợp đối số bị bỏ qua, nó sẽ trả về tất cả các ký tự còn lại sau ký tự bắt đầu.   

Để thay đổi màu phông chữ cho một phần của văn bản, chúng tôi sẽ sử dụng một số chức năng và thuộc tính VBA trong mã của chúng tôi. Phần sau đây mô tả cách mở và viết mã trong trình soạn thảo trực quan cơ bản

Viết mã trong Visual Basic Editor

Làm theo các bước để mở trình soạn thảo trực quan cơ bản và viết một số mã ở đó

  • Chuyển đến tab Nhà phát triển từ Dải băng Excel
  • Nhấp vào tùy chọn Visual Basic

  • Trong cửa sổ Visual Basic for Applications, nhấp vào menu thả xuống Chèn để chọn Mô-đun Mới

Bây giờ một mô-đun mới đã được mở, hãy viết một số mã vào đó và nhấn F5 để chạy

1. Thay đổi màu phông chữ cho một phần cụ thể của văn bản bằng VBA trong Excel

Trong hình minh họa này, chúng tôi sẽ thay đổi màu phông chữ của các ký tự được chỉ định của chuỗi văn bản bằng cách sử dụng Phạm vi. Thuộc tính ký tự trong mã VBA của chúng tôi. Tại các ô B4. B10 chúng ta có cùng một văn bản, “Thay đổi màu phông chữ cho một phần văn bản”. Với biến thể của đối số bắt đầu và độ dài của thuộc tính, chúng ta sẽ thay đổi màu chữ của văn bản

1. 1 Sử dụng phông chữ. Thuộc tính màu

Cùng với tính chất trên, để tô màu một phần văn bản ta cần sử dụng Font. Thuộc tính màu của Excel. Chúng ta có thể sử dụng các hằng số màu khác nhau do VBA Excel xác định trong mã của mình để tô màu văn bản. Các hằng số là- vbBlack, vbRed, vbGreen, vbYellow, vbBlue, vbMagenta, vbCyan và vbWhite

Hãy copy và dán đoạn mã sau để xem sự thay đổi màu chữ của một phần văn bản

Public Sub ChangeFontColor[]
    Range["B4"].Characters[].Font.Color = vbBlue
    Range["B5"].Characters[1].Font.Color = vbRed
    Range["B6"].Characters[7].Font.Color = vbGreen
    Range["B7"].Characters[8, 4].Font.Color = vbYellow
    Range["B8"].Characters[15, 6].Font.Color = vbMagenta
    Range["B9"].Characters[, 6].Font.Color = vbBlack
    Range["B10"].Characters[, 11].Font.Color = vbCyan
End Sub

Nhấn F5 để chạy mã và đầu ra nằm trong ảnh chụp màn hình sau

1. 2 Áp dụng Hệ màu RGB

Chúng ta cũng có thể áp dụng chức năng RGB cho phép chúng ta thay đổi bảng màu.
Cú pháp của hàm RGB là.

RGB [Đỏ là số nguyên, Xanh lục là số nguyên, Xanh lam là số nguyên] Miễn là

Hàm này nhận ba đối số là số nguyên có giá trị nằm trong khoảng từ 1 đến 255. Điều đó có nghĩa là chúng ta được cung cấp 255*255*255 = 16, 581, 375 tổ hợp màu để tô màu cho văn bản

Sao chép và dán đoạn mã sau để thay đổi màu chữ cho một phần văn bản với bảng màu RGB

Public Sub ChangeFontColor[]
    Range["B4"].Characters[].Font.Color = RGB[0, 0, 0]
    Range["B5"].Characters[1].Font.Color = RGB[255, 0, 0]
    Range["B6"].Characters[7].Font.Color = RGB[0, 255, 0]
    Range["B7"].Characters[8, 4].Font.Color = RGB[0, 0, 255]
    Range["B8"].Characters[15, 6].Font.Color = RGB[255, 255, 0]
    Range["B9"].Characters[, 6].Font.Color = RGB[0, 255, 255]
    Range["B10"].Characters[, 11].Font.Color = RGB[255, 255, 255]
End Sub

1. 3 Thực hiện thuộc tính ColorIndex

Hơn nữa, chúng tôi được phép sử dụng thuộc tính Color Index để đặt màu phông chữ một cách dễ dàng. Ảnh chụp màn hình sau đây hiển thị các giá trị chỉ mục màu trong bảng màu mặc định

Hãy chạy mã trong trình chỉnh sửa trực quan cơ bản để thay đổi màu phông chữ cho một phần văn bản

Public Sub ChangeFontColor[]
    Range["B4"].Characters[].Font.ColorIndex = 1
    Range["B5"].Characters[1].Font.ColorIndex = 3
    Range["B6"].Characters[7].Font.ColorIndex = 8
    Range["B7"].Characters[8, 4].Font.ColorIndex = 10
    Range["B8"].Characters[15, 6].Font.ColorIndex = 5
    Range["B9"].Characters[, 6].Font.ColorIndex = 27
    Range["B10"].Characters[, 11].Font.ColorIndex = 26
End Sub

Đọc thêm. Cách thay đổi cách viết hoa chữ thường trong Excel mà không cần công thức [5 cách]

2. Chạy mã VBA để tìm và thay đổi màu phông chữ của phần được nhắm mục tiêu của văn bản

Ở đây trong các ô B4. B6, chúng tôi có một số văn bản có chứa từ “Color” một vài lần

Chúng tôi muốn thay đổi màu phông chữ của những từ này trong hình minh họa này. Hãy sao chép và dán đoạn mã sau vào trình chỉnh sửa trực quan cơ bản

Public Sub ChangefontColor[]
    Set TextRange = Range["B4:B6"]
    partOfText = "Color"
    fontColor = 1
    For Each part In TextRange
        lenOfPart = Len[part]
        lenPartOfText = Len[partOfText]
        For i = 1 To lenOfPart
            tempStr = Mid[part, i, lenPartOfText]
            If tempStr = partOfText Then
                part.Characters[Start:=i, Length:=lenPartOfText].Font.ColorIndex = fontColor
            End If
        Next i
    Next part
End Sub

Trong mã,

  • chúng tôi đặt biến TextRange thành B4. B6
  • Sau đó, biến partOfText được đặt thành Màu, vì chúng tôi muốn thay đổi phần văn bản này để thay đổi màu sắc của nó
  • Chúng tôi đặt giá trị chỉ mục màu thành 5 sẽ thay đổi màu phông chữ thành Màu xanh lam

Bây giờ hãy chạy mã bằng cách nhấn F5 và đầu ra nằm trong ảnh chụp màn hình sau

Đọc thêm. Cách sử dụng mã VBA để thay đổi màu phông chữ trong Excel [3 phương pháp]

bài đọc tương tự

  • Cách thay đổi kích thước phông chữ của toàn bộ trang tính bằng Excel VBA
  • Cách thêm văn bản sau số với định dạng tùy chỉnh trong Excel [4 cách]
  • Mã VBA Excel thành văn bản in đậm trong chuỗi [5 ví dụ]
  • Cách viết 001 trong Excel [11 phương pháp hiệu quả]
  • Căn chỉnh văn bản bằng nút lệnh VBA trong Excel [5 phương pháp]

3. Thay đổi màu phông chữ cho một phần văn bản giữa hai ký tự đặc biệt bằng VBA trong Excel

Trong ví dụ này, chúng tôi sẽ chỉ cho bạn cách thay đổi màu phông chữ của một phần văn bản được bao quanh bởi các ký tự hoặc chuỗi cụ thể trong một văn bản lớn. Giả sử chúng ta có các dòng văn bản sau trong ô B4. B6 có từ “Colors” nhiều lần trong đó. Chúng tôi chỉ muốn thay đổi phông chữ của những từ được đặt trong hai dấu ngoặc đơn. e. , [Màu sắc]

Để làm điều đó, hãy chạy mã trong trình chỉnh sửa mã trực quan

Public Sub ChangeFontColor[]
    Set TextRange = Range["B4:B6"]
    strCharacter = "["
    endCharacter = "]"
    fontColor = 5
    On Error Resume Next
    For Each part In TextRange
        Dim strCharacterArr[], endCharacterArr[]
            For i = 1 To Len[part]
                tempStr = Mid[part, i, 1]
                If tempStr = strCharacter Then
                    Count = Count + 1
                    ReDim Preserve strCharacterArr[Count]
                    strCharacterArr[Count] = i
                End If
            Next i
            For j = 1 To Len[part]
                tempStr2 = Mid[part, j, 1]
                If tempStr2 = endCharacter Then
                    count2 = count2 + 1
                    ReDim Preserve endCharacterArr[count2]
                    endCharacterArr[count2] = j
                End If
            Next j
            For k = 1 To Count
                If endCharacterArr[k] > strCharacterArr[k] Then
                    part.Characters[Start:=strCharacterArr[k], Length:=endCharacterArr[k] - strCharacterArr[k] + 1].Font.ColorIndex = fontColor
                End If
            Next k
        Erase strCharacterArr[]
        Erase endCharacterArr[]
    Next part
End Sub

Đầu ra là-

Đọc thêm. [Đã sửa. ] Không thể thay đổi màu chữ trong Excel [3 giải pháp]

Những điều cần ghi nhớ

  • Trong khi viết mã có nhiều dòng, chúng ta cần cẩn thận trong việc duy trì đúng trình tự
  • Điều quan trọng là chọn phạm vi văn bản và các từ được nhắm mục tiêu một cách thận trọng. Khi chúng tôi chạy mã, chúng tôi không thể hoàn nguyên mã đó. Để biết thông tin, mã VBA không ghi lại lịch sử công việc

Sự kết luận

Bây giờ, chúng ta đã biết cách thay đổi màu chữ cho một phần văn bản bằng mã VBA. Hi vọng sẽ giúp các bạn tự tin hơn khi sử dụng các phương pháp này. Mọi thắc mắc hay góp ý đừng quên để lại ở khung bình luận bên dưới

Làm cách nào bạn có thể thay đổi Màu phông chữ của một phần văn bản đã chọn?

Chọn văn bản bạn muốn thay đổi. Trên tab Trang chủ, trong nhóm Phông chữ, hãy chọn mũi tên bên cạnh Màu phông chữ, sau đó chọn một màu . Bạn cũng có thể sử dụng các tùy chọn định dạng trên thanh công cụ Mini để định dạng nhanh văn bản. Thanh công cụ Mini tự động xuất hiện khi bạn chọn văn bản.

Làm cách nào để thay đổi màu ô trong Excel dựa trên nhiều kiểu nhập văn bản?

Áp dụng định dạng có điều kiện dựa trên văn bản trong ô .
Chọn các ô bạn muốn áp dụng định dạng có điều kiện cho. Bấm vào ô đầu tiên trong phạm vi, rồi kéo đến ô cuối cùng
Bấm TRANG CHỦ > Định dạng có điều kiện > Đánh dấu quy tắc ô > Văn bản có chứa. .
Chọn định dạng màu cho văn bản và nhấn OK

Chủ Đề