Advanced condition format

  • Thread starter thinhpt
  • Ngày gửi
T

thinhpt

Guest
18/10/07
6
0
1
hcm
Trong Excel tự nó cũng có Condition format rồi, nhưng lựa chọn không nhiều, vì nó chỉ ảnh hưởng lên chính ô có giá trị thay đổi chứ không thay đổi được format các ô khác.

Mình muốn làm 1 chương trình tự động, mà khi thay đổi giá trị 1 ô, thì màu của 1 ô khác sẽ thay đổi theo.

ví dụ ô A1 có thể có các giá trị : A,B, C, hoặc D. khi ô A1 = A thì ô B1 có màu vàng, ô A1=B thì ô B1 có màu xanh.

Xin anh em nào có cách thì giúp mình với.
 
Khóa học Quản trị dòng tiền
C

cao manh son

Sơ cấp
25/10/05
34
0
8
TX HungYen
Đâu có phải như bạn nêu,bất cứ cell nào cũng chịu ảnh hưởng của viiệc thay đổi giá trị của 1 cell khác khi bạn đã sử dụng CF.Bạn thử ktra lại xem sao. Nếu bạn muốn nhiều điều kiện nữa thì bạn có thể chuyển sang dùng excel 2007.
 
T

thinhpt

Guest
18/10/07
6
0
1
hcm
Thay đổi về giá trị thì chắc chắn có rồi, nhưng đây là thay đổi về format của cell. Khi giá trị của 1 ô thay đổi thì dùng các lẹnh bình thường của Excel sẽ không làm thay đổi format của 1 ô khác được. Bạn thấy đúng không.

Bro nào có cách giải quyết giúp mình với!!
 
adam_tran

adam_tran

Guitar inspiration
17/5/05
1,373
36
48
48
Goooogle
Đúng vậy, với conditioning formatting thì chỉ áp dụng cho chính các cell cần format thôi, khi giá trị của 1 ô thay đổi thì không làm thay đổi format của 1 ô khác được.

Muốn ô nào cần thay đổi format thì phải set Conditional Format tại ô đó, nhưng "condition" là 1 biểu thức có thể tham chiếu tới 1 biến số bất kỳ, tức là tham số của nó là giá trị/hàm số chứa trong 1 ô bất kỳ nào đó trong sheet. (2003 thì chỉ cho phép tham chiếu trong cùng sheet). Tuy nhiên tham chiếu khác sheet hay khác file cũng không khó, chỉ cần đặt 1 biểu thức trong gian tại 1 ô nào đó hoặc 1 name.
 
T

thinhpt

Guest
18/10/07
6
0
1
hcm
Có ai giúp giùm mình 1 cái addins hoặc macro để giải quyết vấn đề này với.
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
612
104
43
68
HCM city
Bạn phải chuột vô thanh SheetNames (Góc trái dưới nhất) & chọn dòng cuối trong menu đổ xuống;
Bạn Copy & dán vô CS VBE vừa xuất hiện:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim bColor As Byte
If Not Intersect(Target, Range([A1], [A999])) Is Nothing Then
bColor = Asc(Left(Target, 1)) Mod 16
Target.Offset(, 1).Interior.ColorIndex = 33 + bColor

End If
End Sub
Như vậy bạn nhập các từ hay chữ khác nhau trong [A1:A999] sẽ có 16 màu khác nhau hiện ra bên cột 'B' tương ứng;
Bỡi bạn không đưa file yêu cầu lên; nên phải theo cách mình suy ra, vậy thôi!
 
T

thinhpt

Guest
18/10/07
6
0
1
hcm
Cám ơn SADQ nhiều, tuy mình đọc vào chẳng hiểu gì nhưng mỉnh chỉ cần sửa mấy chữ số là ứng dụng được ngay vào mục đích của mình.
 

Xem nhiều