Công thức nhân vba excel

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
Giả sử có biến a và b (số lương và đơn giá).
a x b = c
Làm sao kết quả dòng c + cũng trả về kết quả a x b. Với điều kiện a hoặc b >0.
Tạo vòng lặp như thế nào, nhờ mọi người giúp em ạ.
Tks mọi người.
 
Giả sử có biến a và b (số lương và đơn giá).
a x b = c
Làm sao kết quả dòng c + cũng trả về kết quả a x b. Với điều kiện a hoặc b >0.
Tạo vòng lặp như thế nào, nhờ mọi người giúp em ạ.
Tks mọi người.
Không biết dữ liệu của bạn thích duyệt trên sheet hay trên mảng cũng chả biết cái cấu trúc dữ liệu của bạn mặt ngang mũi dọc ra sao.nếu chỉ là tạo vòng lặp thì đơn giản nhất với code của chuối của mình thì bạn tham khảo
Mã:
Sub Don_Gia()
Dim i As Integer
Dim Arr(), Kq()
Dim a As Double, b As Double
With Sheet1
    Arr = .Range("A1", .Range("A" & 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 Or b > 0 Then
                    Kq(i, 1) = a * b
                End If
        Next
.Range("C1").Resize(UBound(Kq), 1) = Kq
End With
End Sub
 
Lần chỉnh sửa cuối:
Không biết dữ liệu của bạn thích duyệt trên sheet hay trên mảng cũng chả biết cái cấu trúc dữ liệu của bạn mặt ngang mũi dọc ra sao.nếu chỉ là tạo vòng lặp thì đơn giản nhất với code của chuối của mình thì bạn tham khảo
Mã:
Sub Don_Gia()
Dim i As Integer
Dim Arr(), Kq()
Dim a As Double, b As Double
With Sheet1
    Arr = .Range("A1", .Range("A" & 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 Or b > 0 Then
                    Kq(i, 1) = a * b
                End If
        Next
.Range("C1").Resize(UBound(Kq), 1) = Kq
End With
End Sub
Cám ơn Cuto nhé
 
Giả sử Sheet1 và Sheet2 là 2 Sheet bạn cần gán kết quả.Bạn thử:
PHP:
Sub Test()
    Dim i As Integer
    Dim Arr(), Kq()
    Dim a As Double, b As Double
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name = "Sheet1" Or ws.Name = "Sheet2" Then
            Arr = ws.Range("A2", ws.Range("A" & 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 Or b > 0 Then
                    Kq(i, 1) = a * b
                End If
            Next
            ws.Range("C2").Resize(UBound(Kq), 1) = Kq
        End If
    Next ws
End Sub
 
Giả sử Sheet1 và Sheet2 là 2 Sheet bạn cần gán kết quả.Bạn thử:
PHP:
Sub Test()
    Dim i As Integer
    Dim Arr(), Kq()
    Dim a As Double, b As Double
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name = "Sheet1" Or ws.Name = "Sheet2" Then
            Arr = ws.Range("A2", ws.Range("A" & 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 Or b > 0 Then
                    Kq(i, 1) = a * b
                End If
            Next
            ws.Range("C2").Resize(UBound(Kq), 1) = Kq
        End If
    Next ws
End Sub
Em chưa biết file của Chủ topic như thế nào. Nhưng mà em thấy gán số chết như vậy thể nào cũng phát sinh mấy bài nữa. Mặc dù mảng sẽ nhanh hơn. Nhưng chưa biết nhà họ sẽ làm gì tiếp theo nữa ạ
 
Em chưa biết file của Chủ topic như thế nào. Nhưng mà em thấy gán số chết như vậy thể nào cũng phát sinh mấy bài nữa. Mặc dù mảng sẽ nhanh hơn. Nhưng chưa biết nhà họ sẽ làm gì tiếp theo nữa ạ
Tks bạn, mình cũng đang kiểm tra và cũng bị như bạn nói.
Mình sẽ đưa ra 1 cái điều kiện nữa, để nó ko tính thứ ko cần
 
chào các bạn.
bạn ấy nhiệt tình là điều tuyệt vời rồi. Và đáp ứng với câu hỏi của mình.
Nếu làm sẵn cho mình thì cũng được.
Nhưng mình tự áp dụng để mình sẽ biết được lỗi sai ở đâu để mình chú ý.
theo mình làm sẵn file cho mình rồi, có khi nó sai ở đâu mình cg ko biết.
cám ơn sự nhiệt tình của mn.
vba mình gà mờ, mình đọc hiểu chứ ko tự viết ra đc.
 
Web KT
Back
Top Bottom