Cách gán Icon trong Conditional Formatting Cho 6 điều kiện (1 người xem)

Người dùng đang xem chủ đề này

bibim2014

Thành viên hoạt động
Tham gia
1/7/16
Bài viết
166
Được thích
96
Em xin chào tất cả Anh, Chị trong diễn đàn.
Em có làm bảng đánh giá năng lực nhân sự sản xuất. Lần trước ở diễn đàn em đã được gợi ý là dùng icon trong Conditional Formatting. Tuy nhiên thì chỉ áp dụng được 5 tiêu chí đánh giá . Vậy nếu em có 6 tiêu chí đánh giá mà muốn sử dụng thêm 1 Icon nữa thì phải làm như thế nào ạ?

Mong nhận được sự giúp đỡ của Anh, Chị.
Em xin cám ơn!
 

File đính kèm

Bạn có thể sử dụng các biểu tượng Symbol để thiết lập, ngay cả những vòng tròn kia Symbol cũng có.

Bạn có thể sử dụng Font tự tạo để làm biểu tượng rồi định dạng

Bạn có thể sử dụng công cụ VBA.

Bạn xem Link dưới đây để tìm hiểu thêm

http://www.giaiphapexcel.com/diendan/threads/tự-động-chèn-object.95837/
 
Bạn có thể sử dụng các biểu tượng Symbol để thiết lập, ngay cả những vòng tròn kia Symbol cũng có.

Bạn có thể sử dụng Font tự tạo để làm biểu tượng rồi định dạng

Bạn có thể sử dụng công cụ VBA.

Bạn xem Link dưới đây để tìm hiểu thêm

http://www.giaiphapexcel.com/diendan/threads/tự-động-chèn-object.95837/
Vâng ạ, em cám ơn anh @dhn46 , em sẽ đọc và tìm hiểu ạ. Còn về VBA thì em mới làm được những cái đơn giản như bài giảng bằng trực quan của anh thôi, cái này em chưa làm được ạ.
 
Tạo một Một Module, cho nhóm code sau vào.
Và chạy sub AddIcons
Mã:
Option Explicit

Public Sub AddIcons()
Application.ScreenUpdating = False
    setIcon Union(Sheet2.Range("C3:J9"), Sheet2.Range("C12:C18"))
Application.ScreenUpdating = True
End Sub

Private Sub setIcon(ByRef Rng As Range)
   Dim cel As Range, sh As Shape, adr As String, rHe As Long, cWi As Long
   rHe = 22: cWi = 20
Rng.RowHeight = rHe: Rng.ColumnWidth = cWi
   For Each sh In Rng.Parent.Shapes
      If InStrB(sh.Name, "$") > 0 Then sh.Delete
   Next: DoEvents
   For Each cel In Rng
      If Not IsError(cel.Value2) Then
         If Val(cel.Value2) > 0 And Not IsDate(cel) Then
           adr = cel.Address
           Set sh = Sheet2.Shapes.AddShape(msoShapeOval, cel.Left + cel.ColumnWidth * 2 + 3, cel.Top + 1, rHe - 3, rHe - 3)
           sh.ShapeStyle = msoShapeStylePreset38: sh.Name = adr
           sh.Fill.ForeColor.RGB = getCelColor(Val(cel.Value2))
           sh.Fill.Solid
         End If
      End If
   Next
End Sub

Public Function getCelColor(ByRef celVal As Long) As Long
   Select Case True
      Case celVal < 2:    getCelColor = 3749343:    Exit Function
      Case celVal < 3:    getCelColor = 952300:     Exit Function
      Case celVal < 4:    getCelColor = 62713:      Exit Function
      Case celVal < 5:    getCelColor = 7053312:    Exit Function
      Case celVal < 6:    getCelColor = 12562944:   Exit Function
      Case celVal < 7:    getCelColor = 2866523:    Exit Function
      Case celVal <= 8:   getCelColor = 0:          Exit Function
   End Select
End Function

Chạy ngon rồi anh ạ. Anh cho em hỏi 1 chút là nếu muốn sử dụng các hình tròn dạng ban đầu chỉ có 1 màu ( trong đó năng lực đánh giá như là 1/4 hình tròn, 2/4 hình tròn ...) thì có được không ạ?
 
Mấy cái đó là cái hình cố định rồi bạn. Mà tôi cũng chả biết nó là cái gì nữa... : vì làm biếng tìm cái tên do Microsoft quy định, nếu tìm được thì cũng không vấn đề.
Vâng ạ, Em cám ơn anh nhiều ạ. Vậy là quá tuyệt rồi ạ. :);)
 

Bài viết mới nhất

Back
Top Bottom