Tính toán lại thành tiền

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

.Option

Thành viên mới
Tham gia
30/9/20
Bài viết
26
Được thích
2
Kính gửi các thầy, Anh/chị
Em có 1 file như đính kèm, code là em tham khảo trên GPE để áp dụng cho công việc,
Nhờ các thầy sửa lại giúp em thêm điều kiện với ạ

Ví dụ: Nếu như cột S4+T4 mà rỗng thì cột K4 sẽ không tính kết quả ạ, nếu cột S, cột T có chứa dữ liệu thì cột K = cột S * cột T
Em cảm ơn nhiều
 

File đính kèm

Kính gửi các thầy, Anh/chị
Em có 1 file như đính kèm, code là em tham khảo trên GPE để áp dụng cho công việc,
Nhờ các thầy sửa lại giúp em thêm điều kiện với ạ

Ví dụ: Nếu như cột S4+T4 mà rỗng thì cột K4 sẽ không tính kết quả ạ, nếu cột S, cột T có chứa dữ liệu thì cột K = cột S * cột T
Em cảm ơn nhiều
Thêm câu này giữa if và end if...
Else Kq (i,1) = 0
 
Anh ơi, nếu cột S và cột T mà rỗng thì cột thành tiền K sẽ giữ nguyên giá trị cũ không tính toán ạ, chứ không phải cho giá trị cột K = 0 ạ.
Sub tinhlaigiatri()
Dim i As Integer
Dim Arr(), Kq()
Dim a As Double, b As Double
On Error Resume Next
With Sheet2
a = Sheet2.Range("S4")
b = Sheet2.Range("T4")
Arr = .Range("S4", .Range("S" & Rows.Count).End(xlUp)).Resize(, 2).Value
ReDim Kq(1 To UBound(Arr), 1 To 1)
For i = 1 To UBound(Arr)
a = Arr(i, 1): b = Arr(i, 2)
If a > 0 And b > 0 Then
Kq(i, 1) = a * b
Else
Kq(i, 1) = 0
End If
Next
.Range("K4").Resize(UBound(Kq), 1) = Kq
End With

End Sub
 
Anh ơi, nếu cột S và cột T mà rỗng thì cột thành tiền K sẽ giữ nguyên giá trị cũ không tính toán ạ, chứ không phải cho giá trị cột K = 0 ạ.
Thử sub này

PHP:
Sub tinhlaigiatri()
Dim i As Long, lastRow As Long
Dim Arr(), Kq()
Dim a As Double, b As Double

With Sheet2
lastRow = .Range("S" & Rows.Count).End(xlUp).Row
If lastRow < 3 Then Exit Sub
    Arr = .Range("S3:T" & lastRow).Value
    Kq = .Range("K3:K" & lastRow).Value
        For i = 1 To UBound(Arr)
        a = Arr(i, 1): b = Arr(i, 2)
                If a > 0 And b > 0 Then
                    Kq(i, 1) = a * b
                End If
        Next
.Range("K3").Resize(UBound(Kq), 1) = Kq
End With

End Sub
 
Thử sub này

PHP:
Sub tinhlaigiatri()
Dim i As Long, lastRow As Long
Dim Arr(), Kq()
Dim a As Double, b As Double

With Sheet2
lastRow = .Range("S" & Rows.Count).End(xlUp).Row
If lastRow < 3 Then Exit Sub
    Arr = .Range("S3:T" & lastRow).Value
    Kq = .Range("K3:K" & lastRow).Value
        For i = 1 To UBound(Arr)
        a = Arr(i, 1): b = Arr(i, 2)
                If a > 0 And b > 0 Then
                    Kq(i, 1) = a * b
                End If
        Next
.Range("K3").Resize(UBound(Kq), 1) = Kq
End With

End Sub
Dạ em cám ơn anh ạ, Em thử được rồi
 
Web KT

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

Back
Top Bottom