I. Ms Office
6. Trung bình Cộng theo màu chữ của EXCEL
Trong Excel, ngoài các hàm có sẵn ta có thể xây dựng các hàm mới. Tôi xin giới thiệu một cách vận dụng Visual Basic để tính hàm trung bình cộng các ô có cùng màu chữ với ô mẫu, trong vùng EXCEL. Muốn sử dụng hàm ta phải truyền 2 biến: Tên vùng và ô làm mẫu.
Từ EXCEL ta khởi động Visual Basic bằng nhiều cách, tôi chọn Alt+F11. Rồi gõ Ctrl +R để hiện Project EXplore.
Ta Click để chọn tệp của mình làm dự án. Rồi Click Insert\Module để hiện cửa sổ soạn thảo hàm:
Đánh vào như sau:
Option Explicit
Function TBCONGMAU(VungDL, OMau) Dim Tong, OHT, MauHT, MauChuan, dem, KQ 'Lấy màu chuẩn
MauChuan=OMau.Font.Color 'Xử lý từng ô một trong vùng For Each OHT in VungDL 'Lấy màu của ô hiện tại MauHT=OHT.Font.Color
'Nếu là ô số có màu chữ trùng màu thì cộng vào biến tong, và tăng biến dem
If IsNumeric(OHT) AND (MauHT=MauChuan) Then Tong=Tong+OHT
dem = dem +1 End If
Next
if dem =0 then
KQ="Không có ô nào trùng màu ô mẫu" Else
KQ=Tong/dem End if
TBCONGMAU=KQ End Function
Tương tự, ta có thể thiết kế các hàm liên quan tới các thuộc tính của ô. Như cộng theo màu, đếm theo màu.... Sử dụng các thuộc tính của ô thông dụng như: Màu chữ = Tên_Ô.Font.Color
Tên Font chữ = Tên_Ô.Font.Name Cỡ chữ = Tên_Ô.Font.Size
Màu nền = Tên_Ô.Interior.Color ...
Để sử dụng các hàm đã thiết kế, ta cần biên dịch thành các tệp Add-In thường có đuôi .XLA bằng cách cất luôn tệp thành dạng Add-In. (Khi cất, hộp File of Type: chọn kiểu Add-In). Sau đó tiến hành Add-In tệp vào Excel bằng cách chọn Tools\Add-In, rồi Browse để tìm tệp.
Khi sử dụng hàm thì sử dụng như một hàm bình thường đã có của Excel. Ví dụ: =CONGMAU($E$5:$F$200; $a$3)
Nếu trong vùng $E$5:$F$200 có ô số trùng màu chữ với ô $a$3 thì cộng để đưa ra kết quả.