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

Làm cách nào để đánh dấu các giá trị trùng lặp bằng các màu khác nhau trong Excel?

doc các màu khác nhau trùng lặp 1

Trong Excel, chúng ta có thể dễ dàng đánh dấu các giá trị trùng lặp trong một cột bằng một màu bằng cách sử dụng Định dạng có điều kiện, nhưng, đôi khi, chúng ta cần đánh dấu các giá trị trùng lặp bằng các màu khác nhau để nhận ra các bản sao một cách nhanh chóng và dễ dàng như hình minh họa sau. Làm thế nào bạn có thể giải quyết công việc này trong Excel?

Đánh dấu các giá trị trùng lặp trong một cột với các màu khác nhau bằng cách sử dụng mã VBA


mũi tên màu xanh bong bóng bên phải Đánh dấu các giá trị trùng lặp trong một cột với các màu khác nhau bằng cách sử dụng mã VBA

Trên thực tế, không có cách nào trực tiếp để chúng tôi hoàn thành công việc này trong Excel, tuy nhiên, mã VBA dưới đây có thể giúp bạn, vui lòng thực hiện như sau:

1. Chọn cột giá trị mà bạn muốn đánh dấu các bản sao bằng các màu khác nhau, sau đó nhấn giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.

Mã VBA: Đánh dấu các giá trị trùng lặp bằng các màu khác nhau:

Sub ColorCompanyDuplicates()
'Updateby Extendoffice
    Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xChar As String
    Dim xCellPre As Range
    Dim xCIndex As Long
    Dim xCol As Collection
    Dim I As Long
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xCIndex = 2
    Set xCol = New Collection
    For Each xCell In xRg
      On Error Resume Next
      xCol.Add xCell, xCell.Text
      If Err.Number = 457 Then
        xCIndex = xCIndex + 1
        Set xCellPre = xCol(xCell.Text)
        If xCellPre.Interior.ColorIndex = xlNone Then xCellPre.Interior.ColorIndex = xCIndex
        xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
      ElseIf Err.Number = 9 Then
        MsgBox "Too many duplicate companies!", vbCritical, "Kutools for Excel"
        Exit Sub
      End If
      On Error GoTo 0
    Next
End Sub

3. Và sau đó nhấn F5 để chạy mã này và hộp nhắc sẽ nhắc bạn chọn phạm vi dữ liệu mà bạn muốn đánh dấu các giá trị trùng lặp, xem ảnh chụp màn hình:

doc các màu khác nhau trùng lặp 2

4. Sau đó nhấn vào OK , tất cả các giá trị trùng lặp đã được đánh dấu bằng các màu khác nhau, xem ảnh chụp màn hình:

doc các màu khác nhau trùng lặp 1


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 (91)
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
Nó làm việc cho tôi trên một danh sách các số bộ phận.
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,

Có cách nào để làm cho điều này chỉ ảnh hưởng đến cột được đánh dấu chứ không phải toàn bộ hàng không? Khó nhìn thấy một số màu đỏ và xanh đậm trên toàn bộ bảng 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
Đây chỉ là những gì tôi cần, cảm ơn bạn. Đôi khi khi tôi chạy mã này, Excel chỉ bị đóng băng, tôi đang sử dụng Office 2016 / Windows 10, bất kỳ ý kiến ​​nào tại sao?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Patrick, chỉ đánh dấu những ô bạn muốn. Không đánh dấu toàn bộ cột sẽ bao gồm tất cả hàng nghì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
tôi muốn kiểm tra các bản sao cho 5000 ô mà tôi không thể thực hiện được. tôi có thể đánh dấu các bản sao lên đến 70 đến 80 ô
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xe buýt conD ()
Dim xRg theo phạm vi
Làm mờ xTxt dưới dạng chuỗi
Dim xCell As Range
Làm mờ xChar thành chuỗi
Dim xCellPre As Range
Bộ sưu tập Dim xCol As
Dim I As Long
Dim J dưới dạng số nguyên
Dim K dưới dạng số nguyên
Làm mờ xCLR dưới dạng số nguyên

xCLR = 28

On Error Resume Next
Nếu ActiveWindow.RangeSelection.Count> 1 Thì
xTxt = ActiveWindow.RangeSelection.AddressLocal
Khác
xTxt = ActiveSheet.UsedRange.AddressLocal
Cuối Nếu
Đặt xRg = Application.InputBox ("Seleccione el rango a evaluar:", "Buscar Dupados", xTxt,,,,, 8)
Nếu xRg không có gì thì thoát Sub
J = 0
K = 0
Đặt xCol = Bộ sưu tập mới
Đối với mỗi xCell Trong xRg
On Error Resume Next
xCol.Add xCell, xCell.Text
Nếu Err.Number = 457 thì
Đặt xCellPre = xCol (xCell.Text)
Nếu xCellPre.Interior.ColorIndex = xlNone Thì
xCellPre.Interior.Color = RGB (255, J, K)
xCell.Interior.Color = RGB (255, J, K)
Nếu K + xCLR <= 255 Thì
K = K + xCLR
Khác
Nếu J + xCLR <= 255 Thì
K = 0
J = J + xCLR
Khác
MsgBox "! Demasiados datos binaryados !: Biến số giảm xCLR", vbCritical, "Lỗi"
Thoát Sub
Cuối Nếu
Cuối Nếu
Khác
xCell.Interior.Color = xCellPre.Interior.Color
Cuối Nếu
ElseIf Err.Number = 9 Sau đó
MsgBox "Demasiados datos Dupados!", VbCritical, "Error"
Thoát Sub
Cuối Nếu
Về lỗi GoTo 0
Sau

End Sub

Es un tema viejo, pero lo dejo bởi si alguien lo necesita. Con el código phía trước y modificando la biến "xCLR", desde 1 a 255, se pueden obtener desde 4 hasta 65.000 color khác nhau. En mi caso, configuré el rojo del RGB con un valor estático de 255 y varío los valores verde y azul (255, X, X). Si se Treateren mas colores, se podría alterar el valor del rojo, logrando mas de 166 millones de colores diferentes
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là một cứu cánh cho tôi, cảm ơn bạn rất nhiều vì đã chia sẻ! Khi tôi chạy nó trên khoảng 2000 ô có giá trị, nó chỉ làm nổi bật một số bản sao. Có cách nào để khắc phục điều đó không? Không biết có phải nó hết màu không hay có thứ gì khác.
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 một vấn đề tôi đang thử với vài trăm ô và rất nhanh chóng nó có màu giống nhau. có cách sửa nào cho nó khô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
Cùng một vấn đề. Có ai hiểu ra điều này khô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 đã gặp vấn đề tương tự, vấn đề là chỉ số màu chỉ đi đến 56, vì vậy một khi nó vượt qua nó sẽ không còn tô màu cho các ô nữa. Để khắc phục điều đó, tôi đã thay thế dòng "xCIndex = xCIndex + 1" bằng dòng sau: Nếu xCIndex> 55 Thì xCIndex = 3 Khác xCIndex = xCIndex + 1 Kết thúc Nếu cuối cùng nó sẽ bắt đầu sử dụng lại màu, nhưng đó không phải là vấn đề đối với tôi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thay thế bằng Nếu xCIndex> 55 Thì xCIndex = 3 Khác xCIndex = xCIndex + 1 Kết thúc Nếu không hoạt động. Cố gắng để điều này hoạt động trên 14000 dòng, khoảng 6000 bản sao
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó hoạt động với tôi, tôi đã thụt vào dòng thứ hai và thứ tư. Xem bên dưới. Mã của Josh được in đậm.

Nếu Err.Number = 457 thì
Nếu xCIndex> 55 Thì
xC Index = 3
Khác
xC Index = xC Index + 1
Cuối Nếu
Đặt xCellPre = xCol (xCell.Text)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn rất nhiều Josh, nó hoạt động!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này đã làm việc HOÀN HẢO !! Cảm ơn bạn. Tôi đang mất trí khi cố gắng tìm ra giải pháp. Đánh giá cao 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 đã thử chạy tính năng này vài lần và mỗi khi tôi nhấp vào "ok", nó chỉ đưa tôi trở lại màn hình mô-đun. Tôi đang sử dụng Excel 2010.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là điều tuyệt vời và CHÍNH XÁC những gì tôi đang tìm kiếm! Tôi đang kết hợp mã này vào một số mã hiện có - Tôi đã viết mã của mình để chọn các ô mà tôi muốn tô màu, sau đó tôi gọi mã để tô màu. Điều duy nhất tôi không thể tìm ra là làm thế nào để bỏ qua msgBox bật lên và tôi phải nhấp vào OK. Tôi là người mới làm việc tại VBA và không thể tìm ra cách thay đổi mã này .... Mọi đề xuất, xin vui lòng! :)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thay thế dòng: Đặt xRg = Application.InputBox ("vui lòng chọn phạm vi dữ liệu:", "Kutools cho Excel", xTxt,,,,, 8)
đến
Đặt xRg = Range ("A1: A100")

hoặc nếu bạn có bảng, bạn có thể áp dụng cho toàn bộ cột của bảng:
Đặt xRg = Range ("Table1 [[# All], [Column1]]")

chỉ cần thay Table1 thành tên riêng của bạn và Column1 thành bất kỳ tiêu đề bảng nào bạn muốn áp dụng macro này.


Trân trọng
Wojciech
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 thực sự hạnh phúc vì tôi đã có được những gì tôi cần. 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 để thay đổi màu sắc?
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,
Mã chỉ có thể giúp bạn thêm màu khác ngẫu nhiên, nó không thể thay đổi màu sắc.
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
Có vẻ như nó luôn sử dụng cùng một bảng màu, có cách nào để chọn bảng màu mà nó sử dụng không? Nó cung cấp cho tôi một số màu thực sự tối mà qua đó văn bản không thể đọc được.
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 một vấn đề với tôi ... màu quá tối để đọc ...
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
không có sản phẩm nào để thay đổi màu sắc như thế nào ????????????????????
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, gopi,
Để tránh các ô trống, vui lòng áp dụng mã VBA sau:
Màu phụCompanyDuplicates ()
'Cập nhật bởi Extendoffice 20171222
Dim xRg theo phạm vi
Làm mờ xTxt dưới dạng chuỗi
Dim xCell As Range
Làm mờ xChar thành chuỗi
Dim xCellPre As Range
Dim xCIndex miễn là
Bộ sưu tập Dim xCol As
Dim I As Long
On Error Resume Next
Nếu ActiveWindow.RangeSelection.Count> 1 Thì
xTxt = ActiveWindow.RangeSelection.AddressLocal
Khác
xTxt = ActiveSheet.UsedRange.AddressLocal
Cuối Nếu
Đặt xRg = Application.InputBox ("vui lòng chọn dải dữ liệu:", "Kutools cho Excel", xTxt,,,,, 8)
Nếu xRg không có gì thì thoát Sub
xC Index = 2
Đặt xCol = Bộ sưu tập mới
Đối với mỗi xCell Trong xRg
On Error Resume Next
Nếu xCell.Value <> "" Thì
xCol.Add xCell, xCell.Text
Nếu Err.Number = 457 thì
xC Index = xC Index + 1
Đặt xCellPre = xCol (xCell.Text)
Nếu xCellPre.Interior.ColorIndex = xlNone Thì xCellPre.Interior.ColorIndex = xCIndex
xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Sau đó
MsgBox "Quá nhiều công ty trùng lặp!", VbCritical, "Kutools cho Excel"
Thoát Sub
Cuối Nếu
Về lỗi GoTo 0
Cuối Nếu
Sau
End Sub

Hy vọng nó có thể giúp bạn, 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
Sir,
Làm thế nào để phân biệt các màu khác nhau được đưa ra trong dữ liệu trên cơ sở tần số?
Trong dữ liệu rất lớn, cùng một màu đã được đưa ra nhiều lần mà không tính đến tần số của chú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 lỗi bạn, bạn có thể thông tin chi tiết hơn được không, bạn có thể đính kèm ảnh chụp màn hình tại đây.
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
Xin chào, tôi có Excel 2016, alt + F11 không hoạt động nữa để hiển thị VB của Microsoft? Microsoft Visual Basic có phải là phần mềm miễn phí 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
Chào,
Nếu bạn không thể kích hoạt cửa sổ Microsoft VB bằng cách giữ phím Alt + F11, bạn có thể nhấp vào Nhà phát triển> Visual Basic để mở nó.

Hãy thử nó, 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
Điều gì Nếu tôi chỉ muốn tô chỉ với hai màu, hãy nói nhiều lần là màu vàng và đỏ. Để rõ ràng, trong ví dụ trong trang này, 'Rachel' có màu vàng, Rose có màu đỏ và một lần nữa Sussies có màu vàng, Tedi có màu đỏ.
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, selim,
Đoạn mã sau có thể giải quyết vấn đề của bạn, hãy thử.

Màu phụCompanyDuplicates ()
'Cập nhật bởi Extendoffice 20170504
Dim xRg theo phạm vi
Làm mờ xTxt dưới dạng chuỗi
Dim xCell As Range
Làm mờ xChar thành chuỗi
Dim xCellPre As Range
Dim xRgTemp theo phạm vi
Dim xCIndex miễn là
Bộ sưu tập Dim xCol As
Dim I As Long
On Error Resume Next
Nếu ActiveWindow.RangeSelection.Count> 1 Thì
xTxt = ActiveWindow.RangeSelection.AddressLocal
Khác
xTxt = ActiveSheet.UsedRange.AddressLocal
Cuối Nếu
Đặt xRg = Application.InputBox ("vui lòng chọn dải dữ liệu:", "Kutools cho Excel", xTxt,,,,, 8)
Nếu xRg không có gì thì thoát Sub
xC Index = 3
Đặt xCol = Bộ sưu tập mới
Đối với mỗi xCell Trong xRg
On Error Resume Next
xCol.Add xCell, xCell.Text
Nếu Err.Number = 457 thì
Đặt xCellPre = xCol (xCell.Text)
xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Sau đó
MsgBox "Quá nhiều công ty trùng lặp!", VbCritical, "Kutools cho Excel"
Thoát Sub
Khác
xCell.Interior.ColorIndex = xCIndex
Đặt xRgTemp = xCell
xCIndex = IIf (xRgTemp.Interior.ColorIndex = 3, 4, 3)
Cuối Nếu
Về lỗi GoTo 0
Sau
End Sub

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
Đây là những gì tôi chính xác muốn nó. Cảm ơn bạn rất nhiều, skyyang.
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 để đánh dấu toàn bộ hàng thay vì 1 cột?
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, Bobo,
Để đánh dấu toàn bộ hàng dựa trên các giá trị ô trùng lặp, bạn có thể áp dụng mã VBA sau:

Màu phụCompanyDuplicates ()
Dim xRg theo phạm vi
Làm mờ xTxt dưới dạng chuỗi
Dim xCell As Range
Làm mờ xChar thành chuỗi
Dim xCellPre As Range
Dim xCIndex miễn là
Bộ sưu tập Dim xCol As
Dim I As Long
On Error Resume Next
Nếu ActiveWindow.RangeSelection.Count> 1 Thì
xTxt = ActiveWindow.RangeSelection.AddressLocal
Khác
xTxt = ActiveSheet.UsedRange.AddressLocal
Cuối Nếu
Đặt xRg = Application.InputBox ("vui lòng chọn dải dữ liệu:", "Kutools cho Excel", xTxt,,,,, 8)
Nếu xRg không có gì thì thoát Sub
xC Index = 2
Đặt xCol = Bộ sưu tập mới
Đối với mỗi xCell Trong xRg
On Error Resume Next
xCol.Add xCell, xCell.Text
Nếu Err.Number = 457 thì
xC Index = xC Index + 1
Đặt xCellPre = xCol (xCell.Text)
Nếu xCellPre.Interior.ColorIndex = xlNone Thì xCellPre.EntireRow.Interior.ColorIndex = xCIndex
xCell.EntireRow.Interior.ColorIndex = xCellPre.EntireRow.Interior.ColorIndex
ElseIf Err.Number = 9 Sau đó
MsgBox "Quá nhiều công ty trùng lặp!", VbCritical, "Kutools cho Excel"
Thoát Sub
Cuối Nếu
Về lỗi GoTo 0
Sau
End Sub

Hãy thử nó, 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
làm cách nào để đánh dấu phạm vi 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, Hossein,
Có thể là mã sau đây có thể giúp bạn một lợi ích, hãy thử nó.

Màu phụCompanyDuplicates ()
'Cập nhật bởi Extendoffice
Làm mờ xRg, xRgRow As Range
Dim xTxt, xStr dưới dạng chuỗi
Làm mờ xCell, xCellPre dưới dạng phạm vi
Dim xCIndex miễn là
Bộ sưu tập Dim xCol As
Dim I As Long
Nếu ActiveWindow.RangeSelection.Count> 1 Thì
xTxt = ActiveWindow.RangeSelection.AddressLocal
Khác
xTxt = ActiveSheet.UsedRange.AddressLocal
Cuối Nếu
Đặt xRg = Application.InputBox ("vui lòng chọn dải dữ liệu:", "Kutools cho Excel", xTxt,,,,, 8)
Nếu xRg không có gì thì thoát Sub
xC Index = 2
Đặt xCol = Bộ sưu tập mới
Đối với I = 1 Đến xRg.Rows.Count
On Error Resume Next
Đặt xRgRow = xRg.Rows (I)
Đối với mỗi xCell Trong xRgRow.Columns
xStr = xStr & xCell.Text
Sau
xCol.Thêm xRgRow, xStr
Nếu Err.Number = 457 thì
xC Index = xC Index + 1
Đặt xCellPre = xCol (xStr)
Nếu xCellPre.Interior.ColorIndex = xlNone Thì xCellPre.Interior.ColorIndex = xCIndex
xRgRow.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Sau đó
MsgBox "Quá nhiều công ty trùng lặp!", VbCritical, "Kutools cho Excel"
Thoát Sub
Cuối Nếu
Về lỗi GoTo 0
xStr = ""
Sau
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
Kinh ngạc!! Điều này đã giúp tôi rất nhiều!
Và nếu tôi cũng cần làm nổi bật những cái đơn lẻ? Làm thế nào tôi có thể làm điều đó?
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, Carla

Để đánh dấu các hàng bao gồm các hàng duy nhất, vui lòng áp dụng mã VBA bên dưới:
Sub ColorCompanyDuplicates()
'Updateby Extendoffice
Dim xRg, xRgRow As Range
Dim xTxt, xStr As String
Dim xCell, xCellPre As Range
Dim xCIndex As Long
Dim xCol As Collection
Dim xOnlyIndex
Dim I As Long
If ActiveWindow.RangeSelection.Count > 1 Then
    xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
    xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
xCIndex = 2
Set xCol = New Collection
For I = 1 To xRg.Rows.Count
    On Error Resume Next
    Set xRgRow = xRg.Rows(I)
    For Each xCell In xRgRow.Columns
        xStr = xStr & xCell.Text
    Next
    xCol.Add xRgRow, xStr
    If err.Number = 457 Then
        xCIndex = xCIndex + 1
        Set xCellPre = xCol(xStr)
        If xCellPre.Interior.ColorIndex = xlNone Then
            xCellPre.Interior.ColorIndex = xCIndex
        Else            
        End If
        xRgRow.Interior.ColorIndex = xCellPre.Interior.ColorIndex
    ElseIf err.Number = 9 Then
        MsgBox "Too many duplicate companies!", vbCritical, "Kutools for Excel"
        Exit Sub
    End If    
    On Error GoTo 0
    xStr = ""
Next
For Each xCellPre In xCol
    If xCellPre.Interior.ColorIndex = xlNone Then
        xCIndex = xCIndex + 1
        xCellPre.Interior.ColorIndex = xCIndex
    End If
Next
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
Có skyyang! Bạn rock! 😀
Chúng ta có thể đánh dấu toàn bộ hàng thay vì chỉ cột không?

Tôi xin lỗi nếu tôi đang làm phiền, nhưng bạn thực sự đã giúp tôi rất nhiều!
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, Caria,
Nếu bạn cần đánh dấu toàn bộ các hàng, bạn chỉ cần chọn toàn bộ phạm vi hàng khi chọn phạm vi dữ liệu trong hộp thoại bật ra.
Hãy cố gắ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
Xin lỗi, tôi không thể 😟
Tôi nghĩ rằng nó không chính xác vì mã hoạt động trong cột và khi tôi chọn các hàng, chúng được đánh dấu, nhưng không tuân theo tiêu chí trước đó.

Mã bạn đã chia sẻ trước đó, chỉ dành cho các bản sao, hoạt động hoàn hảo.
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 tập lệnh để làm việc cho (xem) mảng bảng thay vì cột? Ví dụ F2: BC117.
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
Xin chào, Vasil,
Để đánh dấu các giá trị trùng lặp trong một dải ô, vui lòng thử mã vba sau:

Màu phụCompanyDuplicates ()
'Cập nhật bởi Extendoffice
Làm mờ xRg, xRgRow As Range
Dim xTxt, xStr dưới dạng chuỗi
Làm mờ xCell, xCellPre dưới dạng phạm vi
Dim xCIndex miễn là
Bộ sưu tập Dim xCol As
Dim I As Long
Nếu ActiveWindow.RangeSelection.Count> 1 Thì
xTxt = ActiveWindow.RangeSelection.AddressLocal
Khác
xTxt = ActiveSheet.UsedRange.AddressLocal
Cuối Nếu
Đặt xRg = Application.InputBox ("vui lòng chọn dải dữ liệu:", "Kutools cho Excel", xTxt,,,,, 8)
Nếu xRg không có gì thì thoát Sub
xC Index = 2
Đặt xCol = Bộ sưu tập mới
Đối với I = 1 Đến xRg.Rows.Count
On Error Resume Next
Đặt xRgRow = xRg.Rows (I)
Đối với mỗi xCell Trong xRgRow.Columns
xStr = xStr & xCell.Text
Sau
xCol.Thêm xRgRow, xStr
Nếu Err.Number = 457 thì
xC Index = xC Index + 1
Đặt xCellPre = xCol (xStr)
Nếu xCellPre.Interior.ColorIndex = xlNone Thì xCellPre.Interior.ColorIndex = xCIndex
xRgRow.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Sau đó
MsgBox "Quá nhiều công ty trùng lặp!", VbCritical, "Kutools cho Excel"
Thoát Sub
Cuối Nếu
Về lỗi GoTo 0
xStr = ""
Sau
End Sub

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 mới làm quen với VBA. Có cách nào mà chúng ta không cần chạy đi chạy lại macro mà nó có thể tự động đánh dấu ngay cả khi các ô mới được sao chép vào cột nơi macro được lập trình không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này thực sự tuyệt vời, nhưng màu đã dừng sau hàng 66 (9 màu). Làm cách nào để tôi có thể gia hạn điều này?
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, Anri,
Đoạn mã trên hoạt động tốt trong trang tính của tôi, tôi kiểm tra nó trong 300 trăm hàng.
Vui lòng thử lại lần nữa. Hoặc bạn có thể gửi tệp sổ làm việc của mình đến tài khoản email của tôi.
Tài khoản email của tôi là: skyyang @extendofficenăm
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
có một số lỗi liên quan đến cài đặt chỉ mục màu, xCindex sẽ nhiều hơn 56 nếu có dữ liệu 56 hàng trong trang tính của bạn, hệ thống sẽ bỏ qua câu:
Nếu xCellPre.Interior.ColorIndex = xlNone Thì xCellPre.Interior.ColorIndex = xCIndex
xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
Tôi sửa chương trình như sau: \
nếu Err.number = 457 thì
if xCellPre.Text <> xCell.Text Then
xCindex = xCindex + 1
endif
đặt.....
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,
trang tính excel của tôi có 11000 hàng dữ liệu.
làm thế nào tôi có thể mở rộng nó để đánh dấu tất cả các bản sao trong cột dài đó.

nó dừng lại ở hàng 77.

Cảm ơn,

AK
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này thực sự tuyệt vời, nhưng màu đã dừng sau hàng 76 (5 màu). Làm thế nào tôi cũng có thể mở rộng điều này?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bảng tính của tôi cũng dừng tô màu ở mức 178 và tôi có hơn 400 dòng. Làm thế nào để bạn khắc phục điều này?
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, Carol,
Bạn có thể gửi sổ làm việc của bạn đến địa chỉ email của tôi, tôi có thể giúp bạn tìm ra vấn đề.
Địa chỉ email của tôi là: skyyang @extendofficenăm
Không có bình luận nào được đăng ở đây
Tải thêm
Để 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