Tự động tô màu cho hàng theo màu ô chọn trước

  • Thread starter Thread starter Red Skin
  • Ngày gửi Ngày gửi
Liên hệ QC

Red Skin

Thành viên mới
Tham gia
23/7/09
Bài viết
5
Được thích
1
Chào các bạn,

Mình muốn tự động tô màu cho hàng trong bảng theo màu của 1 ô chọn trước thì làm thế nào?

Chẳng hạn như ô A1 có màu xanh thì hàng A3:A10 cũng màu xanh. Ô A1 có màu đỏ thì hàng A3:A10 cũng màu đỏ.
Tức là so sánh giá trị màu của ô A1 để quyết định màu của hàng A3:A10.

Cám ơn nhiều
 
Chào các bạn,

Mình muốn tự động tô màu cho hàng trong bảng theo màu của 1 ô chọn trước thì làm thế nào?

Chẳng hạn như ô A1 có màu xanh thì hàng A3:A10 cũng màu xanh. Ô A1 có màu đỏ thì hàng A3:A10 cũng màu đỏ.
Tức là so sánh giá trị màu của ô A1 để quyết định màu của hàng A3:A10.

Cám ơn nhiều
Hàm và công cụ có sẵn chưa làm được, nhưng dùng VBA thì được. Nếu dùng Conditional Formatting (CF), thì bạn có thể thay màu A1 là ký tự nào đó, ví dụ tại A1 bạn gõ "Red" (màu đỏ), thì vùng A3:A10 bạn đặt công thức cho CF là =$A$1="Red" rồi Format màu đỏ, làm tương tự, đặt tên màu cho ô A1 và định dạng theo điều kiện cho từng màu.
 
Thanks leonguyenz
Nếu dùng CF thì nó hơi rắc rối và mất công hơn.

Không biết Excel có thể tự động tô màu theo số của bảng màu Excel được không?
VD như ô kia là số 3 thì ô này tự động chuyển sang màu đỏ, nếu là số 53 thì tự động chuyển sang màu nâu chẳng hạn?
 
Thanks leonguyenz
Nếu dùng CF thì nó hơi rắc rối và mất công hơn.

Không biết Excel có thể tự động tô màu theo số của bảng màu Excel được không?
VD như ô kia là số 3 thì ô này tự động chuyển sang màu đỏ, nếu là số 53 thì tự động chuyển sang màu nâu chẳng hạn?
Bạn có thể dùng VBA (viết code) để tô màu tự động theo số của bảng màu Excel. Điều kiện tự đặt ra, bạn phải có file ví dụ.
 
Chào các bạn,

Mình muốn tự động tô màu cho hàng trong bảng theo màu của 1 ô chọn trước thì làm thế nào?

Chẳng hạn như ô A1 có màu xanh thì hàng A3:A10 cũng màu xanh. Ô A1 có màu đỏ thì hàng A3:A10 cũng màu đỏ.
Tức là so sánh giá trị màu của ô A1 để quyết định màu của hàng A3:A10.

Cám ơn nhiều
Bạn xem file đính kèm (theo yêu cầu bài #3).
 

File đính kèm

Lần chỉnh sửa cuối:
Thực ra theo mình, giúp bạn yếu hơn mình một tý là một cách làm bài tập hiệu quả nhất vì nó làm ta tư duy hết mình .
 
Bạn xem file đính kèm (theo yêu cầu bài #3).
Code bài #6:
[gpecode=vb]
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n As Long
n = [a1].Value
If Target.Address = "$A$1" Then
Range("a3:A10").Select
With Selection.Interior
.ColorIndex = n
.Pattern = xlSolid
End With
End If
End Sub
[/gpecode]
Sẽ bị lỗi nếu A1> 56 (chỉ có 56 màu thôi).
Sửa lại 1 chút:
[gpecode=vb]
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
[A3:A10].Interior.ColorIndex = IIf([A1] > 56, 56, [A1])
End If
End Sub
[/gpecode]
 
Code bài #6:
[gpecode=vb]
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n As Long
n = [a1].Value
If Target.Address = "$A$1" Then
Range("a3:A10").Select
With Selection.Interior
.ColorIndex = n
.Pattern = xlSolid
End With
End If
End Sub
[/gpecode]
Sẽ bị lỗi nếu A1> 56 (chỉ có 56 màu thôi).
Sửa lại 1 chút:
[gpecode=vb]
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
[A3:A10].Interior.ColorIndex = IIf([A1] > 56, 56, [A1])
End If
End Sub
[/gpecode]
Khi A1 là số nguyên dương bất kỳ . Chả thấy chủ topic đâu, toàn người nhà, cám ơn các bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Cám ơn mọi người đã giúp đỡ.
Mấy hôm nay mình có tí việc nên k lên đây được, Xin lỗi mọi người.
Mình đang trong giai đoạn tìm hiểu về VBA trong excel. Và đang học theo kiểu học vẹt nên cũng chưa hình dung được nhiều.
Mình là dân công trình, muốn làm 1 bảng tổng hợp về nhân công để tiện theo dõi và quản lý.
Mình xin up lên đây ví dụ trường hợp của mình.
và mình muốn tô màu giống như trong file.
Nhờ các anh chị giúp đỡ thêm.

Best regards,
 

File đính kèm

Cám ơn mọi người đã giúp đỡ.
Mấy hôm nay mình có tí việc nên k lên đây được, Xin lỗi mọi người.
Mình đang trong giai đoạn tìm hiểu về VBA trong excel. Và đang học theo kiểu học vẹt nên cũng chưa hình dung được nhiều.
Mình là dân công trình, muốn làm 1 bảng tổng hợp về nhân công để tiện theo dõi và quản lý.
Mình xin up lên đây ví dụ trường hợp của mình.
và mình muốn tô màu giống như trong file.
Nhờ các anh chị giúp đỡ thêm.

Best regards,
nếu dữ liệu số nhỏ hơn 56 thì bạn xem file xem được chưa ?
 

File đính kèm

Lần chỉnh sửa cuối:
Cám ơn Ngoai Thanh rất nhiều.

Về attached file, mình thấy có mấy cái thế này:

  1. Về màu, mình thấy cùng mã màu nhưng không giống nhau lắm. Cái này mình sẽ giải quyết sau.
  2. Cái mình cần là tô màu trong bảng B6:X15, trong này không thấy đề cập.
  3. Bảng này chỉ có 10 Items nên có thể áp dụng đoạn code như trong attached file được. Nhưng nếu có khoảng 100-200 Items thì áp dụng kiểu khai báo từng hàng từng hàng thế này chắc chết.

Mong được giúp đỡ thêm.
Best regards.
 
Cám ơn Ngoai Thanh rất nhiều.

Về attached file, mình thấy có mấy cái thế này:

  1. Về màu, mình thấy cùng mã màu nhưng không giống nhau lắm. Cái này mình sẽ giải quyết sau.
  2. Cái mình cần là tô màu trong bảng B6:X15, trong này không thấy đề cập.
  3. Bảng này chỉ có 10 Items nên có thể áp dụng đoạn code như trong attached file được. Nhưng nếu có khoảng 100-200 Items thì áp dụng kiểu khai báo từng hàng từng hàng thế này chắc chết.

Mong được giúp đỡ thêm.
Best regards.
- Thử: Quét chọn vùng B6:X15, Right Click
- Điều kiện bắt buộc: Cột chọn đầu tiên phải là cột B, cột chứa mã số màu phải là cột Z
- Mỗi lần quét chọn khoảng 100 dòng x 25 cột thôi, nhiều quá chạy chậm tui hổng chịu trách nhiệm à nghe.
 

File đính kèm

Cám ơn thày Batê ! tưởng bạn ấy cần tô mầu vài dòng , nhà em cố giúp cho trọn . Nhưng hàng trăm dòng thì nhà em chịu thua rồi . Nhưng cũng hay là học được thày thêm kiến thức về VBA.
 
Lần chỉnh sửa cuối:
Hay quá.
Cám ơn mọi người rất nhiều.

Best regards,
 
Web KT

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

Back
Top Bottom