Em có 1 ô ghi điều kiện (Ô B14). Giá trị từ 1-5 thì rectangle màu xanh nhưng khi từ 6 - 10 thì shape rectangle chuyển sang màu đỏ. Mong ai biết làm vấn đề này chỉ cho em với nhé. Em xin cám ơn nhiều lắm.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$14" Then
With ActiveSheet.Shapes.Range(Array("ShapeName"))
If Range("B14").Value < 6 Then
.Fill.ForeColor.RGB = RGB(0, 255, 0)
Else
.Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
End With
End If
End Sub
Em có 1 ô ghi điều kiện (Ô B14). Giá trị từ 1-5 thì rectangle màu xanh nhưng khi từ 6 - 10 thì shape rectangle chuyển sang màu đỏ. Mong ai biết làm vấn đề này chỉ cho em với nhé. Em xin cám ơn nhiều lắm.
xin mạn phép thực hiện theo yêu cầu của bán nhé.Làm bằng công thức bình thường thử xem sao. Ẹc... Ẹc...
-------------------
Nhân tiện đố mọi người: Nếu cái shape ấy không phải hình vuông mà là hinh tròn thì.. tính sao?![]()
Lúc đầu nghĩ là không làm được, hay nói đúng là làm được nhưng rất khó (nên mới.. đố)xin mạn phép thực hiện theo yêu cầu của bán nhé.
Em cũng mới học được chiêu này của bác hay thật.Lúc đầu nghĩ là không làm được, hay nói đúng là làm được nhưng rất khó (nên mới.. đố)
Sau xem lại thì thấy quá bình thường. Chắc tại lâu không dùng Excel nên bị.. ngu. Ẹc... Ẹc...
sao máy mình chỉ thấy hình vuông không vậy?xin mạn phép thực hiện theo yêu cầu của bán nhé.
Vậy chắc bác Ndu nhìn nhầm quá, trông gà hóa cuốc hay sao mà Ndu nhìn lại thấy hình tròn nhỉ!sao máy mình chỉ thấy hình vuông không vậy?
Làm bằng công thức bình thường thử xem sao. Ẹc... Ẹc...
-------------------
Nhân tiện đố mọi người: Nếu cái shape ấy không phải hình vuông mà là hinh tròn thì.. tính sao?![]()
Cái này chỉ có dùng code thui bạn ơi.
Mã:Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$B$14" Then With ActiveSheet.Shapes.Range(Array("ShapeName")) If Range("B14").Value < 6 Then .Fill.ForeColor.RGB = RGB(0, 255, 0) Else .Fill.ForeColor.RGB = RGB(255, 0, 0) End If End With End If End Sub
Oa, cách của b này làm được rồi. Nhưng làm sao để lưu lại vậy ? Em lưu mà lần sau mở ra thì mất rồi. Mong chỉ dùm em nhé, em mới tìm hiểu về VBA này à. nên còn nhiều cái chưa biết quá.
Làm bằng công thức bình thường thử xem sao. Ẹc... Ẹc...
-------------------
Nhân tiện đố mọi người: Nếu cái shape ấy không phải hình vuông mà là hinh tròn thì.. tính sao?![]()
xin mạn phép thực hiện theo yêu cầu của bán nhé.
Trong file có tất cả mà bạn, bạn xem kỷ các name, và công thức tham chiếu sẽ rõ.Máy b làm được chỉ em với, em vẫn chưa hiểu cách làm của 2 bác lắm.
B có thể giúp mình 1 vấn đề được ko vậy? Code trên đúng rồi nhưng sao mình dùng với ô có chứa 1 biểu thức như =MAX(....) hoặc HLOOKUP lại ko được vậy? Mong b chỉ dùm mình nhé.Bạn lưu file dưới dạng xlsm hoặc xls là đc nhé.
Trong file có tất cả mà bạn, bạn xem kỷ các name, và công thức tham chiếu sẽ rõ.
Nhấn Ctrl+F3 thì thấy ngay công thức thôi bạn.Mình chịu thua, ko mò nổi. Ở mỗi hình chỉ có "=Color_Criteria" Và mò hoài ko ra công thức lấy ở đâu và tại sao lại vậy ?
B có thể giúp mình 1 vấn đề được ko vậy? Code trên đúng rồi nhưng sao mình dùng với ô có chứa 1 biểu thức như =MAX(....) hoặc HLOOKUP lại ko được vậy? Mong b chỉ dùm mình nhé.
code mình viết cho sự kiện bạn thay đổi giá trị đúng tại B14 nên với dùng hàm Max thì nó sẽ ko chạy, bạn có thể cho biết, bạn lấy max cho B14 tại cột nào thì có thể thay target.address = "$B1$14" bằng target.column = cột lấy max.
Hoặc bạn có thể xoá 2 dòng: if target.address.... và dòng gần cuối: End if là đc.
Up cái file mẫu mà bạn làm không được lên đây xem thế nào.Mình chịu thua rồi, mình làm ko được
ở ô B14 mình sử dụng công thức sau:
=VLOOKUP(MAX($C:$C),$C:$F,2,FALSE))
Và mình làm đủ mọi cách cũng ko thể thay đổi màu nó được. Sao VBA trong excel khó nhỉ. mò hoài ko ra gì hết.
Đây nè b ơi.Up cái file mẫu mà bạn làm không được lên đây xem thế nào.
Giờ mới có tg coi lại bài. Bạn thử code nàyĐây nè b ơi.
Ở đây giá trị chấp nhận từ 0.4 đến 0.6 .A2 sẽ tìm MAX cột A ở sheet1 và tham chiếu giá trị đến cột tương ứng.
Khi trong khoảng 0.4 đến 0.6 sẽ hiển thị màu đỏ và ngoài khoảng này thì hiển thị màu xanh.
Mong b chỉ dùm với nhé. Mò 2, 3 ngày rồi mà ko ra gì hết. Thank nhiều nhé.
Private Sub Worksheet_Calculate()
Static oldval
If Sheets("Sheet2").Range("A2").Value <> oldval Then
oldval = Sheets("Sheet2").Range("A2").Value
With Sheets("Sheet2").Shapes.Range(Array("Rounded Rectangle 1"))
If Sheets("Sheet2").Range("A2").Value < 0.4 Or Sheets("Sheet2").Range("A2").Value > 0.6 Then
.Fill.ForeColor.RGB = RGB(255, 0, 0)
Else
.Fill.ForeColor.RGB = RGB(0, 255, 0)
End If
End With
End If
End Sub
Giờ mới có tg coi lại bài. Bạn thử code này
Mã:Private Sub Worksheet_Calculate() Static oldval If Sheets("Sheet2").Range("A2").Value <> oldval Then oldval = Sheets("Sheet2").Range("A2").Value With Sheets("Sheet2").Shapes.Range(Array("Rounded Rectangle 1")) If Sheets("Sheet2").Range("A2").Value < 0.4 Or Sheets("Sheet2").Range("A2").Value > 0.6 Then .Fill.ForeColor.RGB = RGB(255, 0, 0) Else .Fill.ForeColor.RGB = RGB(0, 255, 0) End If End With End If End Sub
Nó hoạt động rồi nhưng còn vài cái mình thắc mắc. Nếu có thể b giải thích dùm thì tốt quá.
[ Private Sub Worksheet_Change(ByVal Target As Range) ] (hàm 1) Mình thấy cái cũng hợp lý mà sao nó ko chạy vậy?
Khi worksheet thay đổi thì nó phải hiểu chứ ? Nhưng tại sao khi dùng [ Private Sub Worksheet_Calculate() ] (hàm 2) thì nó lại chạy ? Vậy ý nghĩa của hàm 1 và hàm 2 là thế nào vậy ?
Ủa sao câu hỏi và file giống y chang chỗ này vậy?Một vấn đề tương tự mọi người giải quyết giúp mình với
mình hỏi vấn đề như trong file đính kèm
Dạ, bạn nhờ em, mà em thấy khó nên đăng lên nhờ mọi người giúp.Ủa sao câu hỏi và file giống y chang chỗ này vậy?
http://www.giaiphapexcel.com/diendan/threads/làm-thế-nào-để-chọn-hình-khi-chọn-điều-kiện-lọc.127541/
2 nick là sinh đôi à?