làm sao phân loại những ô có chứa công thức

Liên hệ QC

blackname

Thành viên mới
Tham gia
27/11/06
Bài viết
6
Được thích
1
Bây giờ mình có 1 vùng đang chọn , mình muốn nó check xem ô nào là công thức ví dụ như hàm sum chẳng hạn thì báo lên cho mình biết, và mình muốn làm như sau : nếu ố đó là hàm sum thì lập tức tô màu ô đó , còn ô nào trống thì để nguyên...
 
Lần chỉnh sửa cuối:
Dùng định dạng có điều kiện là xong ngay mà
Format/Conditional format => Formula is =>

chúc thành công
 
Upvote 0
blackname đã viết:
Bây giờ mình có 1 vùng đang chọn , mình muốn nó check xem ô nào là công thức ví dụ như hàm sum chẳng hạn thì báo lên cho mình biết, và mình muốn làm như sau : nếu ố đó là hàm sum thì lập tức tô màu ô đó , còn ô nào trống thì để nguyên...
Bạn sử dụng code sau:
Mã:
Option Explicit
'
Public Sub To_Congthuc()
Dim rngData As Range
Set rngData = Selection
Dim Congthuc As String
Dim KQ As String
Dim cel_i
[B]Congthuc = "[COLOR=red]sum[/COLOR]"
[/B]For Each cel_i In rngData
    If cel_i.HasFormula Then
        KQ = cel_i.Formula
        If InStr(1, KQ, Congthuc, 1) > 0 Then
            With cel_i
                .Interior.ColorIndex = 3
                .Interior.Pattern = xlSolid
            End With
        End If
    End If
Next cel_i
End Sub
Cách sử dụng:
Chọn vùng rồi chạy Macro trên
Ghi chú: Bạn có thể thay thế dòng lệnh mà mình tô đậm ở bên trên nếu bạn muốn sử dụng công thức khác (không phải là hàm Sum)
 
Upvote 0
Cái này tôi cũng hay gặp phải; nhưng tổng quát hơn (Nghĩa là ô nào có giá trị là số nhập vào thì chữ chuyển mầu đỏ, còn ô chứa công thức(bất kì) thì mầu bình thường), vậy có cách nào đơn giản để làm việc này (format condiction...) ?
 

File đính kèm

  • T1.JPG
    T1.JPG
    19.8 KB · Đọc: 27
Lần chỉnh sửa cuối:
Upvote 0
(ác bạn xem ~ Mcr này, Sửa lại cho thích hợp nếu xài được!

Mã:
[b]Sub ColorAllFormulae()[/b]
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas).Interior.ColorIndex = 36[b]
End Sub
Sub AllNumberFormula()[/b]
Dim rRange As Range, rCell As Range
    Set rRange = ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas, xlNumbers)
     For Each rCell In rRange
        rCell.Interior.ColorIndex = 35
     Next rCell
[b]End Sub[/b]
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn, nhưng trường hợp tôi muốn ngược lại: nếu là giá trị thì giá trị sẽ thành chữ mầu đỏ, có nghĩa nếu là công thức thì giữ nguyên ko thay đổi mầu. Và có thể thực hiện đoạn mã trên chỉ với 1 vùng được chọn trong Sheet thì sửa code trên như thế nào, xin lỗi hỏi vậy vì ko biết về VBA+-+-+-+
 
Upvote 0
Là vầy:

Mã:
[b]Sub AllNumberConstant()[/b]
Dim rRange As Range, rCell As Range, AllRange As Range
    Set AllRange= Selection
    Set rRange = AllRange.SpecialCells(xlCellTypeConstants, xlNumbers)
     For Each rCell In rRange
        rCell.Font.ColorIndex = 3
     Next rCell
[b]End Sub[/b]

/(/ếu có ham muốn VBA các bạn tìm hiểu thêm phương thức SpecialCells mà tôi đã giối thiệu; & cái này cũng lấy từ đó mà ra!
 
Lần chỉnh sửa cuối:
Upvote 0
Thật tuyệt vời, chỉ có điều nếu đặt được trong Format Condiction thì đơn giản vấn đề và động hơn
 
Upvote 0
Web KT
Back
Top Bottom