Dùng code để tô màu cho bảng tính (1 người xem)

Liên hệ QC

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

thanhlong68

Thành viên chính thức
Tham gia
17/11/12
Bài viết
66
Được thích
2
Trong VD đây em đang tô màu theo điều kiện. Vậy mọi người giúp em thay cái này bằng đoạn code để tô màu giống vậy mà không cần dùng tới Conditional Formatting được không ạ.
 

File đính kèm

Trong VD đây em đang tô màu theo điều kiện. Vậy mọi người giúp em thay cái này bằng đoạn code để tô màu giống vậy mà không cần dùng tới Conditional Formatting được không ạ.
Bạn cho biết lý do được không?? Tại sao không dùng Conditional Formatting?
 
Upvote 0
Conditional Formatting dùng nhiều trong một bảng tính mình thấy sẽ rất dối
 
Upvote 0
Trong VD đây em đang tô màu theo điều kiện. Vậy mọi người giúp em thay cái này bằng đoạn code để tô màu giống vậy mà không cần dùng tới Conditional Formatting được không ạ.

Nếu thích Code thì xài tạm cái này
Mã:
Sub ToMau()
Cells.Interior.ColorIndex = 0
For Each Cls In Range([e1], [e65000].End(3))
 If Cls > 0 And Cls(1, 0) = 0 Then
    Cls(1, 0).Resize(, 4).Interior.ColorIndex = 40
 End If
Next
End Sub

Để code tự động chạy thì Copy code này vào Sheet(Kqua)
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call ToMau
End Sub
 
Upvote 0
Conditional Formatting dùng nhiều trong một bảng tính mình thấy sẽ rất dối

Thì đúng rồi! Ai biểu bạn dùng nhiều làm chi.
Màu mè vừa phải sẽ làm nỗi bật trọng tâm mà bạn cần báo cáo. Loè loẹt quá thành ra lạm dụng
 
Upvote 0
Nếu thích Code thì xài tạm cái này
Mã:
Sub ToMau()
Cells.Interior.ColorIndex = 0
For Each Cls In Range([e1], [e65000].End(3))
 If Cls > 0 And Cls(1, 0) = 0 Then
    Cls(1, 0).Resize(, 4).Interior.ColorIndex = 40
 End If
Next
End Sub

Để code tự động chạy thì Copy code này vào Sheet(Kqua)
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call ToMau
End Sub
Đúng là code hay thiệt luôn, em thử để tô về đằng trước hoặc đằng sau một ô chỉnh sửa một chút xíu nó không chạy liền. Em rất muốn tìm hiểu về code VBA cũng đã đọc nhiều bài từ "Chập chững tới VBA" nhưng không hiểu nhiều lắm.
Vì một số code em thấy có dùng tới dòng lệnh Dim, một số lại không cần dùng tới. Nhiều khi muốn tìm hiểm mà không biết hỏi ai. đọc sách em cũng được khá nhiều nhưng đúng là nhiều khi cũng không biết là học từ đâu để bắt đầu. Nếu ai có thể thì nói sơ qua giúp em nhé.
 
Upvote 0
Nếu thích Code thì xài tạm cái này
Mã:
Sub ToMau()
Cells.Interior.ColorIndex = 0
For Each Cls In Range([e1], [e65000].End(3))
 If Cls > 0 And Cls(1, 0) = 0 Then
    Cls(1, 0).Resize(, 4).Interior.ColorIndex = 40
 End If
Next
End Sub

Để code tự động chạy thì Copy code này vào Sheet(Kqua)
Mã:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call ToMau
End Sub
Mà em vẫn chưa thấy nó kẻ ô anh ạ
 
Upvote 0
Bạn ơi chắc bạn ko biết chứ bác TrungChinhs có tuổi rồi đó. Bác đã có cháu rồi đó.
Đúng rồi vấn đề này nhiều khi cũng rất khó, nên khi chưa biết nhiều khi chỉ xưng hô vậy để mọi người biết mình là bề dưới và có tôn trọng dù rằng người kia chưa biết bao nhiêu. Nhưng cũng rất mong được các thầy, các bác các chú nếu đã có tuổi cao thì bỏ quá cho. Bởi vì trong mỗi bài viết không hiện tuổi tác hay nhìn vào cái gì đó để biết là người có tuổi nên xin được lượng thứ.
 
Upvote 0
Đúng là code hay thiệt luôn, em thử để tô về đằng trước hoặc đằng sau một ô chỉnh sửa một chút xíu nó không chạy liền. Em rất muốn tìm hiểu về code VBA cũng đã đọc nhiều bài từ "Chập chững tới VBA" nhưng không hiểu nhiều lắm.
Vì một số code em thấy có dùng tới dòng lệnh Dim, một số lại không cần dùng tới. Nhiều khi muốn tìm hiểm mà không biết hỏi ai. đọc sách em cũng được khá nhiều nhưng đúng là nhiều khi cũng không biết là học từ đâu để bắt đầu. Nếu ai có thể thì nói sơ qua giúp em nhé.

Trong câu lệnh

Cls(1, 0).Resize(, 4).Interior.ColorIndex = 40

Bạn thử sửa số 0 thành -1 hoặc 1 và sửa số 4 thành 3 hoặc 5 là bạn sẽ hiểu

Còn việc Dim hay không Dim thì từ từ sẽ hiểu
 
Lần chỉnh sửa cuối:
Upvote 0
Conditional Formatting dùng nhiều trong một bảng tính mình thấy sẽ rất dối

Tô màu nhiều mà dùng code sẽ rất rắc rối. Lý do, bạn phải luôn luôn nhắc người xem bảng (người nhận được báo cáo) chạy code để cập nhật màu. Chỉ cần quên chạy code là những chỗ màu không còn đúng nữa. Bảng tính mà dữ liệu chưa chắc đã đúng là bảng tính bỏ đi.

Người lập bảng tính thuờng theo nguyên tắc:

Chỉ tô màu cột. Vì cần phân biệt cột.

Chỉ tô màu một vài dòng. Vì cần chú ý vào các dòng đó, hoặc tách rời các dòng đó - mục đích gần tương tự như filter

Nếu tô ô để gây chú ý cho giá trị đặc thù của ô thì chỉ tô tối đa 5% số ô. Nhiều hơn con số này thì bảng tính sẽ trông như quyển vở con nít lớp 1 tập làm toán.

Số âm chỉ nên dùng phông màu. Không nên tô màu ô.

Về việc học VBA. Bạn đang học chạy trước khi tập bước đi.
Bắt đầu đơn giản 1+1 = 2
Code của TrungChinhs đòi hỏi trình độ hiểu biết ít nhất đã đến bậc trung.
 
Upvote 0

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

Back
Top Bottom