Đặt màu chữ

Liên hệ QC

haithanhleminh

Thành viên mới
Tham gia
7/5/08
Bài viết
7
Được thích
0
Chào các bác, em newbe mong các bác giúp đỡ.
Hiện nay em đã viết xong một hàm bằng VBA trong Excel để đổi từ điểm bằng số sang điểm bằng chữ. Tuy nhiên, em muốn xử lý cả tình huống nếu người nhập vào sai điểm ( nhỏ hơn 0 và lớn hơn 10) thì điểm bằng chữ đó phải đổi màu hoặc nhấp nháy để dễ nhận ra. Em muốn đặt màu ở ngay trong thân hàm đó thì phải làm thế nào? Em cũng đã xem các ví dụ về đặt màu nhưng không thấy có nói đến đặt màu chữ ở trong thân hàm của 1 ô nào đó.
 
bạn dùng format/condition formating đặt điều kiện nếu <0 thì cho màu đỏ chẳng hạn
 
Upvote 0
Hỗ trợ cách nhập điểm sai <0 hoặc >10

Bạn có thể tham khảo VD sau để quản lý cách nhập liệu điểm
Ví dụ việc kiểm tra cách nhập điểm vào, giả sử bạn có cột điểm thi mẫu (qui ước từ 0 đến 10 điểm)chứa trong dãy A2:A42 của Sheet1, phần nhập dữ liệu điểm thi trong dãy A1:A 41 trong Sheet2.

Để tiện quản lý dãy này ta đặt tên bằng cách chọn Insertà Nameà Define, đặt tên vùng Sheet1!A 2:A 42 là Diemthi, nhấn OK.


Để nhập các điều kiện kiểm tra cho vùng này ta làm như sau:

Chuyển tới Sheet2 àChọn vùng A1:A 41à Chọn Dataà Data Validation.

Ở thẻ Settings, Validation Criteria chọn Allow: List, Source nhập = Diemthi, đánh dấu chọn hộp Ignore Blank nếu muốn bỏ qua các ô trống, hộp In-cell dropdown nếu muốn có hộp danh sách thả xuống.

Chuyển qua thẻ Input Messsage nhập các hướng dẫn, chọn Show input... nếu muốn hướng dẫn hiện lên khi ô được chọn.

Chuyển qua thẻ Error Alert nhập các thông tin cảnh báo khi nhập sai, chọn Show error... nếu muốn hiện thông tin cảnh báo.

Nhấn OK.


Giờ đây khi nhập liệu ở vùng Sheet2!A1:A41, một hộp Dropdown List xuất hiện và hầu như chắc chắn bạn không có cơ hội để nhập sai điểm thi (<0 or >10)!
Chúc bạn thành công
 
Upvote 0
Rất cám ơn các bác đã giúp đỡ.Tuy nhiên nếu làm theo cách của bác Taidt hay bác Truong Minh Do thì chỉ được trến máy có lựa chọn trên menu của Excel. Giả sử cái hàm của em viết sau đó xuất ra dạng Add-in, người dùng chỉ việc copy vào thư mục Library của bộ Office và chọn mục add-in trên menu hoặc đóng gói dạng cài đặt để nó tự động thực hiện công việc trên thì tiện cho người mới sử dụng rất nhiều. Tuy nhiên em đọc mãi mà chẳng thấy có chỗ nào hướng dẫn trong hàm có thể đặt màu cho chữ. Em lấy ví dụ thế này

Public Function Chu(num As Single)
Dim Ret, D, C As String
Dim SoDau As Integer
Dim Socuoi As Integer
Ret = ""
num = Round(num, 1)

SoDau = 0
Socuoi = 0
num = num * 10

SoDau = Round(num \ 10)
If SoDau = 10 Then D = "Mười"
' Socuoi = Val(Trim(Right(num, 1)))
Socuoi = Round(num Mod 10)
Select Case SoDau
Case 0
D = "Không"
Case 1
D = "Một"
Case 2
D = "Hai"
Case 3
D = "Ba"
Case 4
D = "Bốn"
Case 5
D = "Năm"
Case 6
D = "Sáu"
Case 7
D = "Bảy"
Case 8
D = "Tám"
Case 9
D = "Chín"
End Select
Select Case Socuoi
Case 0
C = "Không"
Case 1
C = "Một"
Case 2
C = "Hai"
Case 3
C = "Ba"
Case 4
C = "Bốn"
Case 5
C = "Năm"
Case 6
C = "Sáu"
Case 7
C = "Bảy"
Case 8
C = "Tám"
Case 9
C = "Chín"
End Select
If num = 0 Then
Ret = " "
' Đặt màu chữ ở đây thì làm thế nào
ElseIf (num < 0) Or (num > 100) Then Ret = "Lỗi điểm, hãy kiểm tra lại"
Else
' Đặt màu chữ ở đây thì làm thế nào
Ret = D & " . " & C
End If
Chu = Ret
End Function
 
Upvote 0
Quá trình đặt màu cho chữ thì phải dùng Macro chứ sao lại dùng Function được bạn. Function chỉ xử lý dữ liệu chữ hoặc số để cho ra 1 kết quả theo ý mình thôi. Kết quả cũng chỉ là chữ và số thôi. Còn màu sắc thuộc dạng thức khác rồi. Nó liên quan đến sự hiển thị và Style. Vậy bạn thử Record 1 quá trình tạo màu xem. Rồi vào VBA (Alt + F11) sẽ thấy code của nó viết khác nhiều lắm. Hoặc bạn dùng công cụ tìm kiếm của diễn đàn để tìm với từ khóa là "Đổi màu chữ" xem. Sẽ có nhiều lắm đó. Thân.
 
Lần chỉnh sửa cuối:
Upvote 0
Vâng, em nghĩ chắc cũng phải dùng cách khác, không đưa được vào hàm, vì đọc nhiều bài hướng dẫn trên diễn đàn này không thấy phần nào nói về đặt màu trong hàm
Nhưng ý của em là có cách nào không các bác? Cách nào mà không phải chọn trên từng máy một, mà nó có luôn trên cái add-in đó.
 
Upvote 0
Vâng, em nghĩ chắc cũng phải dùng cách khác, không đưa được vào hàm, vì đọc nhiều bài hướng dẫn trên diễn đàn này không thấy phần nào nói về đặt màu trong hàm
Nhưng ý của em là có cách nào không các bác? Cách nào mà không phải chọn trên từng máy một, mà nó có luôn trên cái add-in đó.
Bạn nói thế là bạn chưa hiểu cái gì gọi là HÀM cả
HÀM chỉ có thể cho ra giá trị... làm sao có thể kiêm chức năng định dạng được chứ... E rằng ông Bill cũng không làm được chứ đừng nói là bạn
Tóm lại bạn không cần phải tìm thêm tài liệu về vấn đề này
 
Upvote 0
Web KT

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

Back
Top Bottom