Nhờ các bạn GPE giúp vấn đề tô màu cho ô cell (2 người xem)

Liên hệ QC

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

hung2412

Thành viên tích cực
Tham gia
5/8/08
Bài viết
929
Được thích
240
Giới tính
Nam
Mình nhờ các bạn GPE giúp đỡ cho mình vấn đề này với:
- Tô màu vàng những ô ở cột B (Khi thỏa mãn điều kiện ô cùng dòng ở cột D giá trị lớn hơn 1 và những ô ở cột D không trùng lặp giá trị). Ví dụ: ô D6 có giá trị là 9 lớn hơn 1 và không bị trùng lặp giá trị những ô còn lại ở cột D thì sẽ tô màu vàng, còn ô D2 và ô D59 có giá trị trùng nhau là 7 thì ô cùng dòng ở cột B là B2 và B59 không tô màu vàng.
- Tô màu vàng những ô ở cột A tương tự như cột B ở trên
P/s: Có File đính kèm
 

File đính kèm

Mình nhờ các bạn GPE giúp đỡ cho mình vấn đề này với:
- Tô màu vàng những ô ở cột B (Khi thỏa mãn điều kiện ô cùng dòng ở cột D giá trị lớn hơn 1 và những ô ở cột D không trùng lặp giá trị). Ví dụ: ô D6 có giá trị là 9 lớn hơn 1 và không bị trùng lặp giá trị những ô còn lại ở cột D thì sẽ tô màu vàng, còn ô D2 và ô D59 có giá trị trùng nhau là 7 thì ô cùng dòng ở cột B là B2 và B59 không tô màu vàng.
- Tô màu vàng những ô ở cột A tương tự như cột B ở trên
P/s: Có File đính kèm

select B column
conditional formatting
formula is=(D1>1)*(COUNTIF(D:D,D1)=1)
format...pattern=yellow
 
select B column
conditional formatting
formula is=(D1>1)*(COUNTIF(D:D,D1)=1)
format...pattern=yellow
Mình làm được rồi, cảm ơn bạn nhiều.

select B column
conditional formatting
formula is=(D1>1)*(COUNTIF(D:D,D1)=1)
format...pattern=yellow
Bạn ơi, nếu có thêm điều kiện là những ô ở cột B có màu sẵn có (Ví dụ ô B2 có màu tím, ô B5 có màu đỏ) thì không bị đè màu khi thực hiện CF trên. Có cách nào khi thực hiện lệnh CF trên thì sẽ không bị CF tô màu đè lên những ô có màu sẵn có ở cột B không nhỉ?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Mình nhờ bạn hướng dẫn cho mình với.
Mở File, nhấn nút "TÔ MÀU" và xem kết quả đã đúng ý chưa nhé! Tôi dùng VBA nên phải Enable Macros trước khi mở File nhé!

Bổ sung thêm nút xóa màu nữa! Bạn tô màu 1 vài ô bên cột B(Tím, hồng...) và nhấn nút tô màu xem có nó có tô màu đề nên các ô đó không nhé!

Bạn giỏi thật, đúng theo điều kiện, mình cảm ơn bạn nhiều.
Nếu chỉ muốn xóa các màu đã tô và giữ lại các mầu ban đầu thì dùng File này thử xem!
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Nếu chỉ muốn xóa các màu đã tô và giữ lại các mầu ban đầu thì dùng File này thử xem!
Cài này chuẩn đấy, để mình áp dụng vào công việc. Cảm ơn bạn.

Nếu chỉ muốn xóa các màu đã tô và giữ lại các mầu ban đầu thì dùng File này thử xem!
Bạn ơi, mình áp dụng code này với file khác (Đã chỉnh sửa code cho phù hợp với file khác) thì nó không chạy, nó chỉ chạy với file mà bạn đưa cho mình thôi. Thậm chí mình copy nguyên code của bạn rồi đưa vào Module thuộc VBAProject (Personal.xls) rồi chạy đúng với file mà bạn đưa cho mình mà vẫn không chạy. Làm thế nào bây giờ hả bạn?

Đối với file 11111 này thì cột tô màu là cột F dựa trên số liệu ở cột J (Điều kiện như ban đầu). Và điều tớ muốn là code nằm ở Module thuộc VBAProject (Personal.xls) để áp dụng rộng rãi trên toàn bộ file excel. Bạn cố giúp mình nhé.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Đối với file 11111 này thì cột tô màu là cột F dựa trên số liệu ở cột J (Điều kiện như ban đầu). Và điều tớ muốn là code nằm ở Module thuộc VBAProject (Personal.xls) để áp dụng rộng rãi trên toàn bộ file excel. Bạn cố giúp mình nhé.
Bạn dùng File này nhé!
 

File đính kèm

Cảm ơn bạn đã nhiệt tình giúp đỡ, mặc dù có vài chỗ chưa chạy đúng như là ô F30, F31 không được tô màu (Ô J30 > 1, J31 >1,...). Nhưng tớ thắc mắc ở chỗ sao bạn không đưa code về Module thuộc VBAProject (Personal.xls) để áp dụng rộng rãi trên toàn bộ file excel (Mình muốn như vậy là bởi vì mình tô màu xong thì không dùng File 11111 này nữa, sau đó mình lấy code này áp dụng cho các sổ kế toán phát sinh ấy mà).
 
Cảm ơn bạn đã nhiệt tình giúp đỡ, mặc dù có vài chỗ chưa chạy đúng như là ô F30, F31 không được tô màu (Ô J30 > 1, J31 >1,...).
Bạn thử lại File này xem đã hoàn thiện chưa nhé?
Còn về thắc mắc này:
Nhưng tớ thắc mắc ở chỗ sao bạn không đưa code về Module thuộc VBAProject (Personal.xls) để áp dụng rộng rãi trên toàn bộ file excel (Mình muốn như vậy là bởi vì mình tô màu xong thì không dùng File 11111 này nữa, sau đó mình lấy code này áp dụng cho các sổ kế toán phát sinh ấy mà).
thì tôi nghĩ phải lưu dưới dạng Add-ins. Mà cái này thì tôi không biết!
 

File đính kèm

Bạn thử lại File này xem đã hoàn thiện chưa nhé?
Còn về thắc mắc này:

thì tôi nghĩ phải lưu dưới dạng Add-ins. Mà cái này thì tôi không biết!
Giờ thì hoàn thiện rồi bạn ah, mình có cách dựa trên file bạn làm rồi, hi.

Bạn dùng cách gì vậy???
Ah, là như thế này, cũng Amater lắm, mình lấy file 11111 làm chuẩn, sau đó mình lấy từng file mới (Phát sinh không cố định, bôi màu xong thì bỏ) cần bôi màu như theo điều kiện, mình copy 2 cột (cột cần bôi màu, cột điều kiện) vào file 11111 => sau khi bôi màu xong rồi thì copy 2 cột đó => paste vào file mới.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Ah, là như thế này, cũng Amater lắm, mình lấy file 11111 làm chuẩn, sau đó mình lấy từng file mới (Phát sinh không cố định, bôi màu xong thì bỏ) cần bôi màu như theo điều kiện, mình copy 2 cột (cột cần bôi màu, cột điều kiện) vào file 11111 => sau khi bôi màu xong rồi thì copy 2 cột đó => paste vào file mới.
Thôi không biết về VBA thì cứ làm vậy đi. Khi nào tiến bộ thị sẽ biết cách làm nhanh hơn!
 
Dùng addins sau cho đơn giản đi (cộng addins vào chắc bạn biết rồi)

sau khi cộng addins bạn có thể sử dụng cho mọi file, dưới đây là ví dụ file 111...xls trên của bạn

-- Để tô màu làm đúng các bước sau

+ Chọn 1 ô đâu tiên của cột cần tô - ví dụ F10 (tự động tìm ô cuối có dữ liệu của cột F này, trường hợp nếu chọn vùng >1 ô ví như F10: F20 thì chỉ xét trong vùng này mà thôi / không dò tìm nữa)

+ rui giữ Ctrl chọn thêm 1ô nào đó thuộc cột điều kiện, như j15 (ô dòng nào cũng được thuộc cột là được ví dụ J10 cũng được, tự động tìm vùng tương ứng so với F trên)

+ sau đó bấm Ctrl+Shift+T

kết quả tô màu các ô như đk,


------------------
bỏ màu, thì đơn giản

+ chọn 1 ô đầu tiên cần bỏ màu vàng (chỉ bỏ màu vàng) , ví dụ F10 (có thể chọn vùng giống trên, thì chỉ có tác dùng trong vùng)

+ bấm Ctrl+Shift+R

sẽ bỏ hết màu vàng

--------------------------------
Lưu ý này chỉ có tác dụng theo chiều cột , các bước chọn chỉ chọn 1 cột -- nếu không sẽ báo lỗi.

pass word code: 5 dấu cách liên tiếp (" ")
 

File đính kèm

Lần chỉnh sửa cuối:
Dùng addins sau cho đơn giản đi (cộng addins vào chắc bạn biết rồi)

-- Để tô màu làm đúng các bước sau
+ Chọn 1 ô đâu tiên của cột cần tô - ví dụ F10 (tự động tìm ô cuối có dữ liệu của cột F này, trường chọn vùng >1 ô ví như F10: F20 thì chỉ xét trong vùng này mà thôi)

+ rui giữ Ctrl chọn thêm 1ô nào đó thuộc cột điều kiện, như j15 (ô dòng nào cũng được thuộc cột là được, tự động tìm vùng tương ứng so với F trên)

+ sau đó bấm Ctrl+Shift+T

kết quả tô màu các ô như đk,

sau khi cộng addins bạn có thể sử dụng cho mọi file, dưới đây là ví dụ file 111...xls trên của bạn
------------------
bỏ màu, thì đơn giản

+ chọn 1 ô đầu tiên cần bỏ màu vàng (chỉ bỏ màu vàng) , ví dụ F10 (có thể chọn vùng giống trên, thì chỉ có tác dùng trong vùng)

+ bấm Ctrl+Shift+R

sẽ bỏ hết màu vàng

--------------------------------
Lưu ý này chỉ có tác dụng theo chiều cột , các bước chọn chỉ chọn 1 cột -- nếu không sẽ báo lỗi.
Bạn có thể hướng dẫn tôi cũng như các bạn khác cách chuyển code sang dạng AddIns được không vậy?
 
Bạn có thể hướng dẫn tôi cũng như các bạn khác cách chuyển code sang dạng AddIns được không vậy?

Đơn giản mà,

- Viết code ở 1 file trắng (sao cho code phải chạy ở các file khác), nếu là sub thì nên đặt phím tắt Alt+F8 --chọn macro (sub) đó vào Option gán phím tắt

- viết xong,thì nhớ test ở file khác, test ngon rui thì Save as dạng Addins (*.xla dùng với mọi version kể cả excel 2003 (trước nữa chắc ít còn) , hay *.xlam cho các exver từ 2007 hoặc cao hơn)

--> cộng addins và sử dụng

--------------
ở đây quan trọng là viết code sao cho tổng quát, có thể chạy các file work book khác, cái này cũng không khó: chỉ cần chú ý, là đừng có những chỉ ra các địa chỉ tham chiếu (như range, sheet, ..) nó cụ thể quá phải tổng quát như : selection, activesheet, activeWorkbook, ...vv
(còn nếu chỉ ra cụ thể thì phải thống nhất trường hợp riêng)
 
Vì để đỡ gây rối khi vào trang code ALT+F11 khi viết các code khác, nên thường addins chúng ta đặt pass word lock view vbaproject.

Trong addins trên tôi cũng để password mục đích như vậy, do đó ai thích quan tâm code thì có thể sử dụng pass word sau để mở (tôi quên không viết trên):
pass word: 5 dấu cách liên tiếp (" ")

hy vọng giúp ích gì đó với các bạn chưa biết hay quan tâm
 
Nhìn cách viết code của bạn tôi nghĩ chắc bạn cũng giỏi về lập trình lắm! Mong được học hỏi từ bạn! Tôi thì chỉ học theo kiểu lượm lặt từ GPE nên không cơ bản lắm nhiều khi code dài lê thê. Nếu có thể mong bạn chia sẻ chút kinh nghiệm về học lập trình VBA.

Giỏi lập trình thì ai làm VBA làm gì , hehehe (chắc vậy), tay trái thôi bạn ah,

Code dài ngày không quan trọng, mà kết quả chính xác và lường được đa số thực tế xảy ra (dĩ nhiên code nào cũng có hạn chế phạm vi ứng dụng).

Muốn học VBA thì chúng ta nên đọc sách 1 cách bài bản (sách lập trình VB càng tốt vì VBA là 1 nhánh nhỏ thui) , đừng theo học các lớp quảng cáo to đùng học chẳng được bao (nhiều người bạn tôi ở HN, Tp.HCM học kêu phí tiền rui, hết khoá mà không viết được dòng code nào riêng cho mình, ứng dụng chả bao)
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom