Chạy công thức với điều kiện màu nền ô [VBA]

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

YMai

Thành viên mới
Tham gia
10/12/18
Bài viết
16
Được thích
1
:wounded1: Em cần chạy công thức các ô cột [C ]với điều kiện ô [A] tương xứng có màu vàng hoặc bỏ qua không chạy công thức nếu không có màu ạ.
217235
Em không biết nhiều về VBA, đang tìm hiểu. Mong mọi người giúp đỡ ạ. Cảm ơn mọi người trước ạ.
Em chỉ làm được vầy
Mã:
Sub chuyencan_tudong()
Range("C2") = "=IF(A2=1,350000,IF(A2=2,175000,0))"
Sheet2.Range("C2:C20").FillDown
End Sub
 
Em đã lập được công thức như vầy nhưng bị lỗi trong công thức (màu xanh). Làm sao mới khắc phục được ạ?
217242
Mã:
Private Sub Worksheet_change(ByVal Target As Range)
If Not Application.Intersect(Range("A2:A20"), Range(Target.Address)) Is Nothing Then
Call chuyencan_tudong
End If
End Sub
Sub chuyencan_tudong()
Dim number As Integer
    For i = 2 To 200
        number = Range("A" & i).Value
If Range("A" & i).Interior.ColorIndex = 3 Then
Range("C" & i) = "=IF(Range(A&i)=1,350000,IF(Range(A&i)=2,175000,0))"
End If
Next i
End Sub
 
Upvote 0
Em đã lập được công thức như vầy nhưng bị lỗi trong công thức (màu xanh). Làm sao mới khắc phục được ạ?
View attachment 217242
Mã:
Private Sub Worksheet_change(ByVal Target As Range)
If Not Application.Intersect(Range("A2:A20"), Range(Target.Address)) Is Nothing Then
Call chuyencan_tudong
End If
End Sub
Sub chuyencan_tudong()
Dim number As Integer
    For i = 2 To 200
        number = Range("A" & i).Value
If Range("A" & i).Interior.ColorIndex = 3 Then
Range("C" & i) = "=IF(Range(A&i)=1,350000,IF(Range(A&i)=2,175000,0))"
End If
Next i
End Sub
- Không ai trả lời vì bạn không đính kèm file lên. Không ai có thể kiểm tra bằng cách nhìn cái hình mà cho code chạy để xem kết quả.
- VBA không hiểu kiểu viết vầy: "=IF(Range(A&i)=1,350000,IF(Range(A&i)=2,175000,0))"
 
Upvote 0
- Không ai trả lời vì bạn không đính kèm file lên. Không ai có thể kiểm tra bằng cách nhìn cái hình mà cho code chạy để xem kết quả.
- VBA không hiểu kiểu viết vầy: "=IF(Range(A&i)=1,350000,IF(Range(A&i)=2,175000,0))"
:) tại mình chỉ gõ 2 dòng để thử thôi nên không lưu file. Mà mình làm được rồi cảm ơn bạn nha.
 
Upvote 0
Web KT

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

Back
Top Bottom