Mình muốn định dạng màu cho bảng chấm công

Liên hệ QC

kimlan

Thành viên chính thức
Tham gia
29/8/07
Bài viết
73
Được thích
15
mình có một file chấm công mà muốn định dạng màu cho bảng chấm công như sau:
-Định dạng ngày chủ nhật màu này,nghỉ ko phép chữ o màu này, còn có phép chữ P màu này, còn ngừng việc chữ N màu này, còn lại nếu lớn hơn hoặc bằng 1 thì màu vàng (vd:0.5....)thì dùng màu 0.5.
Bạn nào biết làm cái này giúp mình với.
 
Dùng Format có điều kiện chỉ dc có 3 màu thôi bạn ơi... bạn chọn đi... Nhưng làm thế đễ làm gì chứ? Tôi thấy chỉ có tác dụng vui mắt, ngoài ra chẳng có ý nghĩa gì cả... Formating có điều kiện tùy từng trường hợp sẽ phát huy hiệu quả chứ ko nên xem nó là việc trang trí
 
anhtuan1066 đã viết:
Dùng Format có điều kiện chỉ dc có 3 màu thôi bạn ơi... bạn chọn đi... Nhưng làm thế đễ làm gì chứ? Tôi thấy chỉ có tác dụng vui mắt, ngoài ra chẳng có ý nghĩa gì cả... Formating có điều kiện tùy từng trường hợp sẽ phát huy hiệu quả chứ ko nên xem nó là việc trang trí
mình muốn thiết lập như vậy để dễ quản lý vì mình chấm công bằng tay nên để mỗi cái mỗi màu cho dễ phân biệt, chứ đâu phải mình trang trí mà để có tác dụng vui mắt chứ.Mình có làm trong Formating như đúng như bạn nói đó nó chỉ có 3 điều kiện thôi mà mình thì cần nhiều hơn.Nếu ai biết viết đoạn code thiết lập cho mình với rồi mình chỉ cần coppy đoạn code đó về dùng thôi. Các bạn giúp mình với.
 
Vậy bạn thử với file này nhé
Code có tác dụng từ cell A6 đến I30... đễ chỉnh lại màu và vùng dử liệu thì bạn vào của sổ VBE mà chỉnh theo ý muốn
ANH TUẤN
 

File đính kèm

  • Tomau.zip
    7.9 KB · Đọc: 165
anhtuan1066 đã viết:
Vậy bạn thử với file này nhé
Code có tác dụng từ cell A6 đến I30... đễ chỉnh lại màu và vùng dử liệu thì bạn vào của sổ VBE mà chỉnh theo ý muốn
ANH TUẤN

Em xin phép thêm chút xíu :
PHP:
Private Sub WorkSheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Columns.Count > 1 Then Exit Sub
    If Target.Rows.Count > 1 Then Exit Sub
    If Not Intersect(Range("A6:I30"), Target) Is Nothing Then
        If Target.Value = "CN" Then Target.Font.ColorIndex = 3
        If Target.Value = "O" Then Target.Font.ColorIndex = 12
        If Target.Value = "P" Then Target.Font.ColorIndex = 7
        If Target.Value = "N" Then Target.Font.ColorIndex = 4
        If Target.Value = "0.5" Then Target.Font.ColorIndex = 11
    End If
End Sub

Thân!
 
Bắp ơi, Bắp có bãng mã màu ko? Up lên xem thử... Lúc trước tôi có, giờ chẳng biết nằm phương nào rồi... Chỉnh sửa từng em rồi test cực quá
 
Cái này em down trên mạng. Gửi bác xem có dùng được không.
 

File đính kèm

  • He Mau RGB 24bit NEW.zip
    14.5 KB · Đọc: 81
anhtuan1066 đã viết:
Vậy bạn thử với file này nhé
Code có tác dụng từ cell A6 đến I30... đễ chỉnh lại màu và vùng dử liệu thì bạn vào của sổ VBE mà chỉnh theo ý muốn
ANH TUẤN
Mình coppy đoạn code đó về dùng thử nhưng mình đánh mấy chữ giống đó nó ko hiện ra màu.Nhưng file đó nó cũng ko giống file mình cần,cái mình muốn là trong tất cả các sheet của file đó nó hiện lên muỗi khi mình đánh giữ liệu mình cần.Mình có file đính kèm này các bạn giúp mình với nhé.
 
Lần chỉnh sửa cuối:
Trong code có giới hạn vùng hoạt động ngay chổ này:
If Not Intersect(Range("A6:I30"), Target) Is Nothing Then
Bạn sửa lại cho phù hợp với thực tế nhé
Bạn ko nên cho nó hoạt động toàn bảng tính, vì sẽ khổ cho bạn về sau... cứ gõ đúng chử trong điều kiện thì nó lại tô màu ??? Chưa kễ là làm vậy bãng tính sẽ chậm đi...
Tôi ví dụ vùng mà bạn gõ các ký hiệu là từ C3 đến Z100 vậy bạn chỉ sửa đoạn trên thành
If Not Intersect(Range("C3:Z100"), Target) Is Nothing Then
Những cái khác giữ nguyên
Còn như muốn code có tác dụng trên toàn file thì sửa lại code 1 tí...
<FONT color=#000000>
PHP:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    If Target.Columns.Count > 1 Then Exit Sub
    If Target.Rows.Count > 1 Then Exit Sub
    If Not Intersect(Range("C3:Z100"), Target) Is Nothing Then
        If Target.Value = "CN" Then Target.Font.ColorIndex = 3
        If Target.Value = "O" Then Target.Font.ColorIndex = 12
        If Target.Value = "P" Then Target.Font.ColorIndex = 7
        If Target.Value = "N" Then Target.Font.ColorIndex = 4
        If Target.Value = "0.5" Then Target.Font.ColorIndex = 11
    End If
End Sub
Và nhớ là code này dc cho vào This workbook nhé
ANH TUẤN
 
anhtuan1066 đã viết:
Trong code có giới hạn vùng hoạt động ngay chổ này:
If Not Intersect(Range("A6:I30"), Target) Is Nothing Then
Bạn sửa lại cho phù hợp với thực tế nhé
Bạn ko nên cho nó hoạt động toàn bảng tính, vì sẽ khổ cho bạn về sau... cứ gõ đúng chử trong điều kiện thì nó lại tô màu ??? Chưa kễ là làm vậy bãng tính sẽ chậm đi...
Tôi ví dụ vùng mà bạn gõ các ký hiệu là từ C3 đến Z100 vậy bạn chỉ sửa đoạn trên thành
If Not Intersect(Range("C3:Z100"), Target) Is Nothing Then
Những cái khác giữ nguyên
Còn như muốn code có tác dụng trên toàn file thì sửa lại code 1 tí...
<FONT color=#000000>
PHP:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Target.Columns.Count > 1 Then Exit Sub
If Target.Rows.Count > 1 Then Exit Sub
If Not Intersect(Range("C3:Z100"), Target) Is Nothing Then
If Target.Value = "CN" Then Target.Font.ColorIndex = 3
If Target.Value = "O" Then Target.Font.ColorIndex = 12
If Target.Value = "P" Then Target.Font.ColorIndex = 7
If Target.Value = "N" Then Target.Font.ColorIndex = 4
If Target.Value = "0.5" Then Target.Font.ColorIndex = 11
End If
End Sub
Và nhớ là code này dc cho vào This workbook nhé
ANH TUẤN
Bạn ơi mình làm giống như bạn hướng dẫn nhưng vẫn ko sử dụng được,bạn có thể làm trên file của mình rồi post lên mạng cho mình được ko vì coppy về dùng gõ thử mấy ký tự đó nó ko có định dạng gì hết.Giúp mình với.
 
kimlan đã viết:
Bạn ơi mình làm giống như bạn hướng dẫn nhưng vẫn ko sử dụng được,bạn có thể làm trên file của mình rồi post lên mạng cho mình được ko vì coppy về dùng gõ thử mấy ký tự đó nó ko có định dạng gì hết.Giúp mình với.
File đây... vùng hoạt động của macro là vùng tôi tô màu xanh ấy (trong tất cả các sheet)
Nếu trên file bạn khác đi thì vào code chỉnh lại như tôi đã nói ở trên
Nhớ 1 chuyện nữa là code này có phân biệt chử HOA và thường.. bạn gõ CN thì dc... gõ cn nó chẳng biết đâu
(1 chuyện nhỏ nữa nhưng nếu ko nói thì sợ thiếu xót: Mở file nhớ Enable macro)
Mến
ANH TUẤN
 

File đính kèm

  • Format_Tuan01.zip
    7.8 KB · Đọc: 60
Lần chỉnh sửa cuối:
kimlan đã viết:
Bạn ơi mình làm giống như bạn hướng dẫn nhưng vẫn ko sử dụng được,bạn có thể làm trên file của mình rồi post lên mạng cho mình được ko vì coppy về dùng gõ thử mấy ký tự đó nó ko có định dạng gì hết.Giúp mình với.
Cảm ơn bạn mình đã làm được rồi nhưng mình muốn thay đổi tô màu chữ bằngng thay đổ tô màu cell thì mình làm cách nào vì mình ko biết về vba.Giúp mình chuyển đổi với, vì tô chữ mình khó nhín quá.
 
Trước tiên bạn nên tham khảo file INDEX về màu sắc của Salam hoặc các bài viết của anh SA_DQ đễ biết màu nào tương ứng với số mấy... Giờ chỉ việc thay thế vào code giống như ThuNghi đã nói ở trên
ANH TUẤN
 
anhtuan1066 đã viết:
Trước tiên bạn nên tham khảo file INDEX về màu sắc của Salam hoặc các bài viết của anh SA_DQ đễ biết màu nào tương ứng với số mấy... Giờ chỉ việc thay thế vào code giống như ThuNghi đã nói ở trên
ANH TUẤN
Coppy code này về phải nhấp vào đâu để cho nó chạy vậy?tại mình coppy và chỉnh sửa giống như bạn thu nghi nhưng nó ko chạy dc.Giúp mình tí nữa nhé!
 
Bạn ơi... nếu bạn hỏi như thế thì tôi tin chắc rằng bạn chưa hề biết gì về VBA cả... Bạn hảy tham khảo các bài viết về VBA cho người mới bắt đầu của thầy Phan Tự Hướng và anh SA_DQ.. như thế thì chỉ cần xem qua hướng dẩn bạn sẽ biết ngay phải làm gì
Chứ giờ thì chả khác nào cầm tay viết chử, như thế cũng thật khó cho người hướng dẫn...
Mâm cổ đã dc dọn sẳn, giờ chỉ cần sắp chén đủa và.. ăn nữa thôi bạn ơi!
Hic...
ANH TUẤN
 
anhtuan1066 đã viết:
Bạn ơi... nếu bạn hỏi như thế thì tôi tin chắc rằng bạn chưa hề biết gì về VBA cả... Bạn hảy tham khảo các bài viết về VBA cho người mới bắt đầu của thầy Phan Tự Hướng và anh SA_DQ.. như thế thì chỉ cần xem qua hướng dẩn bạn sẽ biết ngay phải làm gì
Chứ giờ thì chả khác nào cầm tay viết chử, như thế cũng thật khó cho người hướng dẫn...
Mâm cổ đã dc dọn sẳn, giờ chỉ cần sắp chén đủa và.. ăn nữa thôi bạn ơi!
Hic...
ANH TUẤN
huhuhun Thật sự là mình chưa học vba bao giờ thật mà ,nhưng mình đã làm được rồi bạn ah là nhờ các bạn đã chỉ cho mình đó.Cảm ơn các bạn nhiều lắm.
 
Trong trường hợp như bạn thì bạn có 2 cách:
Cách 1: cố gắng học VBA thì sẽ hiểu dc cái đơn giản nhất
Cách 2: Post file lên nhờ người trợ giúp, họ làm xong thì bạn cứ việc mang về xài ngay (Fast food)
Đây là tùy theo sở thích của mỗi người, tôi cũng ko thể áp đặt cách tôi thích cho bạn dc... Có điều nếu bạn chọn cách 2 thì lý ra bạn nên post file lên ngay từ đầu (file thực tế) có phải là đở mất công cho mọi người và nhất là cho bạn ko?
ANH TUẤN
 
Web KT
Back
Top Bottom