Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để thay đổi màu tab trang tính dựa trên giá trị ô?

Thông thường, bạn có thể thay đổi màu tab dễ dàng và nhanh chóng trong Excel, nhưng bạn đã bao giờ thử thay đổi màu tab dựa trên giá trị ô trong trang tính chưa? Nếu bạn đang thực hiện nhiệm vụ này, tôi sẽ nói về một số mã để bạn tô màu tab trang tính dựa trên một giá trị ô cụ thể trong Excel.

Thay đổi màu tab một trang tính dựa trên giá trị ô với mã VBA

Thay đổi nhiều tab trang tính dựa trên giá trị ô bằng mã VBA


mũi tên màu xanh bong bóng bên phải Thay đổi màu tab một trang tính dựa trên giá trị ô với mã VBA

Ví dụ: tôi muốn màu tab trang tính hiện tại sẽ là màu xanh lục nếu giá trị ô trong A1 là văn bản “TRUE”, màu tab sẽ là màu đỏ nếu văn bản trong A1 là “FALSE” và màu tab sẽ là màu xanh lam nếu giá trị trong ô A1 là bất kỳ văn bản nào khác như ảnh chụp màn hình sau:

doc bảng màu theo giá trị 1

1. Bấm chuột phải vào tab trang tính mà bạn muốn thay đổi màu của nó dựa trên dữ liệu trong ô A1, rồi chọn Mã Chế độ xem từ trình đơn ngữ cảnh.

2. Trong Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép và dán mã VBA bên dưới vào Mô-đun cửa sổ.

Mã VBA: Thay đổi màu tab một trang tính dựa trên giá trị ô:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    If Target.Address = "$A$1" Then
        Select Case Target.Value
        Case "False"
            Me.Tab.Color = vbRed
        Case "True"
            Me.Tab.Color = vbGreen
        Case Else
            Me.Tab.Color = vbBlue
        End Select
    End If
End Sub

doc bảng màu theo giá trị 2

LƯU Ý Trong đoạn mã trên, A1 là tham chiếu ô mà bạn muốn tô màu tab dựa trên, “Thật","Sai”Là văn bản bạn cần, bạn có thể thay đổi chúng theo nhu cầu của bạn và bạn có thể thay đổi màu sắc trong mã khi bạn cần.

3. Sau đó, lưu và đóng cửa sổ mã này, bây giờ, khi bạn nhập văn bản “Đúng” vào ô A1, màu tab hiện tại sẽ trở thành màu xanh lục và khi bạn nhập văn bản “Sai” vào ô A1, màu tab sẽ trở thành màu đỏ, và nếu văn bản khác được nhập vào ô A1, màu tab sẽ tự động trở thành màu xanh lam.


mũi tên màu xanh bong bóng bên phải Thay đổi nhiều tab trang tính dựa trên giá trị ô bằng mã VBA

Nếu bạn cần thay đổi màu nhiều tab trang tính dựa trên một giá trị ô, đây cũng là một mã có thể giúp bạn, vui lòng thực hiện như sau:

1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ, trong cửa sổ đã mở, nhấp đúp vào Sổ làm việc này theo dự án VBA , sau đó sao chép và dán đoạn mã dưới đây vào chỗ trống Mô-đun:

Mã VBA: Thay đổi nhiều tab trang tính dựa trên giá trị ô:

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  'Updateby Extendoffice 20160930
  Select Case Sheets("Master").Range("A1").Value
         Case "KTE"
             Sheets("Sheet1").Tab.Color = vbRed
         Case "KTO"
             Sheets("Sheet2").Tab.Color = vbGreen
         Case "KTW"
             Sheets("Sheet3").Tab.Color = vbBlue
         End Select
End Sub

doc bảng màu theo giá trị 3

LƯU Ý Trong đoạn mã trên, A1 và Master là ô và trang tính mà bạn muốn tô màu cho tab dựa trên, Sheet1, Sheet2, Sheet3 là các trang tính mà bạn muốn tô màu cho các tab. KTE, Ktw., WHO là các giá trị ô trong A1 mà bạn muốn tô màu các tab dựa trên đó, bạn có thể thay đổi các tham chiếu và màu sắc trong mã khi bạn cần.

2. Sau đó lưu và đóng cửa sổ mã này lại, bây giờ, khi bạn nhập văn bản KTE vào ô A1 của Trang tính chính, tab Trang tính1 sẽ có màu đỏ, khi bạn nhập KTO vào ô A1, Trang tính2 sẽ có màu xanh lục và khi bạn nhập KTW vào ô A1, Sheet3 sẽ có màu xanh lam, xem ảnh chụp màn hình:

doc bảng màu theo giá trị 4


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (23)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào ngài.
vui lòng giúp tôi làm thế nào để thay đổi màu tab trang tính dựa trên ngày / ngày.

ví dụ: -
nếu trang số 1 là Chủ nhật thì - tab trang tính 'ĐỎ'
nếu trang tính số 2 là thứ hai thì - tab trang tính 'Màu xanh lá cây'
nếu trang số 3 là thứ Ba thì - tab trang tính 'Màu xanh lá cây'
nếu trang số 4 là thứ Tư thì - tab trang tính 'Màu xanh lá cây'
nếu trang số 5 là thứ Năm thì - tab trang tính 'Màu xanh lá cây'
nếu trang số 6 là thứ sáu thì - tab trang tính 'Màu xanh lá cây'
nếu trang số 7 là thứ bảy thì - tab trang tính 'Màu xanh lá cây'

vui lòng giúp tôi về vấn đề excel ở trên.

Trân trọng cảm ơn
Faiz Ibn Uvaiz P.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mô tả của bạn hơi mơ hồ về những gì bạn thực sự đang cố gắng làm. Nếu sổ làm việc chỉ dành cho một tuần thì hãy tô màu các tab. Nếu thời gian kéo dài hơn một tuần, thì giải pháp phức tạp hơn một chút. Cho đến khi bạn nêu chi tiết vấn đề, có một số giải pháp có sẵn. Tôi và nhiều người sẽ không dành thời gian viết mã miễn phí 2,000 giải pháp cho bạn. Nhưng bạn nêu chi tiết vấn đề, chúng tôi có thể cung cấp 1 giải pháp.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm cách nào để tôi có thể thay đổi màu tab tùy thuộc vào thời tiết, một loạt các ô có văn bản trong đó
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Công thức đang hoạt động cho 'Đúng' - tab trang tính có màu ĐỎ, điều đó thật tuyệt nhưng nếu tôi thay đổi nó từ 'Đúng' thành 'Sai', tôi muốn tab trang tính có 'không màu'. Công thức không có màu trên tab trang tính là gì nếu không chọn 'Đúng'? Ngoài ra, nếu tôi muốn công thức dành cho một nhóm ô, ví dụ. A1: A30 mã tôi sử dụng là gì?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào , Shannon:
Mã VBA sau đây có thể giúp ích cho bạn, hãy thử nó:

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg theo phạm vi
Đặt xRg = Intersect (Mục tiêu, Phạm vi ("A1: A30"))
Nếu xRg không có gì thì thoát Sub
Chọn mục tiêu trường hợp. Giá trị
Trường hợp "Đúng"
Tôi.Tab.Color = vbRed
Trường hợp "Sai"
Me.Tab.Color = Sai
Kết thúc Chọn
End Sub

Hy vọng điều này có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có cách nào để thay đổi màu tab dựa trên những điều sau không: Tôi có một tab chính trong đó các hàng 3-7 có màu xanh lam và sẽ tương ứng với các tab tương ứng 3-7 (được đặt tên dựa trên giá trị ô trong tab chính trong những hàng đó) mà tôi muốn có màu xanh lam. Sau đó, các hàng 8-12 có màu xanh lục và cũng tương ứng với các tab 8-12, v.v.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đó là một thủ thuật tuyệt vời.
Tôi đã liên kết màu tab dựa trên giá trị của ô A1 (<> 0 RED và = 0 Green), tuy nhiên, macro chỉ thực thi nếu tôi chọn A1, nhấn F2 rồi nhấn enter. Nếu không làm điều này, mặc dù màu của tab (dựa trên giá trị của nó) phải là Màu đỏ, nhưng vẫn là màu xanh lục.
Tôi đang sử dụng excel 2007.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có thể thực hiện điều này khi ô A1 có thể có tất cả 3 câu trả lời trên các dòng riêng biệt trong ô không? Đó là KTE, KTO và KTW đều có mặt trong ô vì nó cho phép nhiều lựa chọn từ một danh sách thả xuống.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang cố gắng sử dụng mã đó và áp dụng nó vào một hộp kiểm, vì vậy khi tôi chọn hộp, màu sắc sẽ thay đổi, nếu tôi bỏ chọn, nó sẽ thay đổi trở lại (tôi nhận được true = xanh, false = đỏ, else = đỏ) . Nhưng khi tôi kiểm tra và bỏ chọn, nó sẽ xuất hiện một lỗi 'đối tượng cần thiết'


Private Sub CheckBox1_Click ()
_____If Target.Address = "$ e $ 5" Thì 'lỗi ở đây
__________Chọn mục tiêu trường hợp.Giá trị
__________Case "Sai"
_______________ Me.Tab.Color = vbRed
__________Case "Đúng"
_______________ Me.Tab.Color = vbGreen
__________Trường hợp khác
_______________ Me.Tab.Color = vbRed
__________End Chọn
_____Và Nếu
End Sub

Tôi đã sao chép và dán nó để xem nó chạy và sau đó điều chỉnh nó theo nhu cầu của mình nhưng tôi sẽ không tìm ra cách làm cho nó chạy.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thưa các đồng nghiệp,
Vui lòng yêu cầu giúp đỡ. Tôi cần thay đổi màu tab trang tính dựa trên giá trị ở định dạng [h]: mm. Ví dụ: nếu giá trị dưới 20:00 - màu đỏ,> 20:00 màu xanh lục.
Trân trọng cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thưa các đồng nghiệp,
Vui lòng yêu cầu giúp đỡ. Tôi cần thay đổi màu tab trang tính dựa trên giá trị ở định dạng [h]: mm. Ví dụ: nếu giá trị dưới 20:00 - màu đỏ,> 20:00 màu xanh lục.
Trân trọng cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Victor,
Mã VBA dưới đây có thể giải quyết vấn đề của bạn, hãy thử, hy vọng nó có thể giúp bạn!

Private Sub Worksheet_Change (ByVal Target As Range)
Làm mờ xStr dưới dạng chuỗi
Làm mờ xSN dưới dạng chuỗi
Làm mờ xDate As String
Dim xaddress dưới dạng chuỗi
Dim xArr () As String
Dim xI1 dưới dạng số nguyên
Làm mờ xSM dưới dạng chuỗi
xDate = "20:00"
xAddress = "$ A $ 1"
If Target.Address <> xAddress Sau đó thoát Sub
xStr = Mục tiêu.Văn bản
xArr = Tách (xStr, ":")
If (UBound (xArr) - LBound (xArr) + 1)> 2 Then Exit Sub
xI1 = Int (xArr (0))
Nếu (Len (xArr (0)) - 2) <1 Thì
If xI1> 23 then Exit Sub
Khác
Thoát Sub
Cuối Nếu
xSM = xArr (1)
Về lỗi GoTo Err01
If (Len (xSM) - 2) <> 0 Then Exit Sub
If Int (Left (xSM, 1))> 5 then Exit Sub
If Int (Right (xSM, 1))> 10 then Exit Sub
Nếu xI1> = 20 Thì
Tôi.Tab.Color = vbGreen
Khác
Tôi.Tab.Color = vbRed
Cuối Nếu
Lỗi01:
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Skyyang thân mến,
Xin lỗi vì phản hồi quá muộn. Công thức này đang hoạt động khi tôi thay đổi giá trị trong ô theo cách thủ công. Nhưng đó không phải là những gì tôi cần.
Giá trị ô là kết quả của một công thức từ các trang tính khác biệt. Ví dụ: đây là công thức trong ô "O13-'520 '! AD3". Điều này có nghĩa là giá trị trong ô này đang thay đổi tùy thuộc vào giá trị của ô deferent trong trang tính được giới thiệu. Những gì tôi cần là màu trang tính được tự động thay đổi khi giá trị trong ô "O13-'520 '! AD3" được thay đổi, khi giá trị trong ô "O13-'520'! AD3" dưới 05:00 - màu đỏ ,> 20:00 màu xanh lục, từ 05:00 đến 20:00 màu nâu.
Cảm ơn bạn trước và trân trọng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào mọi người, làm cách nào để thay đổi màu tab dựa trên một giá trị nhất định trong cột của nhiều trang tính? Thanks
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm thế nào bạn sẽ liên kết tab với một giá trị trong một tab khác. Trong ví dụ của tôi, tôi có một tab với tất cả thông tin sẽ tự động lọc ra các tab khác nhau. Tuy nhiên, mỗi tab sẽ đọc màu xanh lá cây hoặc màu đỏ, tùy thuộc vào việc có một bAlance nổi bật trên tab chính hay không. Có thể thực hiện điều này bằng cách sử dụng mã này không và nếu có, tôi phải viết liên kết đến trang tính chính trong mã này ở đâu?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào bạn,

Chưa từng làm mã trong excel trước đây. Tôi cần một mã thực hiện những gì mã này làm, nhưng tôi cần một tham số khác.

Vì vậy, những gì tôi cần là:

Nếu giá trị của ô không phải là 0 và / hoặc nếu một số ô khác có số trong đó, hãy sử dụng số đếm, sau đó đổi màu thành đỏ

Nếu giá trị ô là 0 và các ô khác trống, sử dụng số đếm, sau đó đổi màu thành xanh lục
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Tôi đã thử thay đổi màu tab dựa trên giá trị trên trang tính riêng biệt được gọi là Theo dõi, đây là điều tôi đã thử nhưng dường như không hoạt động. Thanks




Private Sub Worksheet_Change (ByVal Target As Range)

'Cập nhật bởi Extendoffice 20160930

Nếu Target.Address = "Theo dõi! $ C $ 2" thì

Chọn mục tiêu trường hợp. Giá trị

Trường hợp "ip"

Tôi.Tab.Color = vbRed

Trường hợp "w"

Tôi.Tab.Color = vbYellow

Trường hợp "c"

Tôi.Tab.Color = vbGreen

Trường hợp khác

Tôi.Tab.Color = vbBlue

Kết thúc Chọn

Cuối Nếu

End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Brad,
Để làm cho mã chạy chính xác, bạn không nên chèn tên trang tính vào mã, vui lòng nhập mã sau: (bấm vào tên trang tính mà bạn muốn chạy mã này, sau đó bấm chuột phải vào tên trang tính và chọn Xem Mã, sau đó dán mã vào mô-đun)

Private Sub Worksheet_Change (ByVal Target As Range)

'Cập nhật bởi Extendoffice 20160930

Nếu Target.Address = "$ C $ 2" thì

Chọn mục tiêu trường hợp. Giá trị

Trường hợp "ip"

Tôi.Tab.Color = vbRed

Trường hợp "w"

Tôi.Tab.Color = vbYellow

Trường hợp "c"

Tôi.Tab.Color = vbGreen

Trường hợp khác

Tôi.Tab.Color = vbBlue

Kết thúc Chọn

Cuối Nếu

End Sub

Hãy cố gắng, hy vọng nó có thể giúp bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang tìm cách thay đổi màu của tab dựa trên một trong 2 kết quả của công thức. Tôi có công thức là = IF ((AND (AA1 = "Chiếm", AA2 = "Chiếm", AA3 = "Chiếm", AA4 = " Đã chiếm "))," Đã chiếm "," Bỏ trống ")
Tôi cần tab có màu đỏ nếu "Đã chiếm" và màu xanh nếu "Bỏ trống". Tuy nhiên, mã ở trên trong bài đăng chính không nhận ra đầu ra của If Than
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào,
Tôi cần một số giúp đỡ
Tôi chỉ cần thay đổi màu tab trang tính nếu trong một phạm vi ô nhất định, có ngày hôm nay
Ví dụ,
Cột L có một số ngày ở định dạng (13-tháng-22)
Một trong những giá trị ô là ngày hôm nay, khi đó màu trang tab sẽ chuyển thành màu đỏ
Hãy giúp tôi
Cảm ơn bạn trước
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn tab của mình thay đổi màu nếu bất kỳ ô nào trong cột O hoặc cột P có giá trị trong đó. Điều này có khả thi không?

Cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn đặt màu tab trang tính dựa trên màu của ô j4 trong mỗi trang tính. Có các Tab 18+ và muốn cập nhật màu tab khi mở sổ làm việc. Nếu tôi không thể cập nhật khi mở, tôi có thể chạy macro sau khi các nhóm cập nhật trang tính.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, gỗ
Để giải quyết vấn đề của bạn, vui lòng áp dụng mã dưới đây: (Chú thích: Sao chép và dán đoạn mã dưới đây vào Sổ làm việc này chế độ mã)
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Call SetSheetColor
End Sub

Private Sub Workbook_Open()
Call SetSheetColor
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Call SetSheetColor
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call SetSheetColor
End Sub

Sub SetSheetColor()
Dim xWShs As Sheets
Dim xRg As Range
Dim xFNum As Integer
Dim xSh As Worksheet
On Error Resume Next
Set xWShs = Application.ActiveWorkbook.Sheets
For xFNum = 1 To xWShs.Count
    Set xSh = xWShs.Item(xFNum)
    Set xRg = xSh.Range("J4")
    xSh.Tab.Color = xRg.Interior.Color
Next
End Sub


https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-color-sheet.png

Xin vui lòng có một thử, hy vọng nó có thể giúp bạn!
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL