2 range trừ nhau trong VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

dvnhatbao

Thành viên chính thức
Tham gia
11/7/12
Bài viết
50
Được thích
1
Chào cả nhà.
Mình muốn lấy 2 column ngày tháng trừ nhau trong VBA nhưng ko hiểu sao thì bị lỗi '13'.Mình không hiểu là viết 2 range trừ nhau thì như thế nào.
Mã:
  Set r1 = ws_IncorrectInvoices.Range(Cells(3, 28), Cells(l_EndQueryRow, 29))
  Set r2 = ws_IncorrectInvoices.Range(Cells(3, 13), Cells(l_EndQueryRow, 14))
  Set rng_Format = r1 - r2
[TABLE="width: 110"]
[TR]
[TD="class: xl86, width: 110"][/TD]
[/TR]
[TR]
[TD="class: xl86, width: 110"][/TD]
[/TR]
[/TABLE]
 
Trong excel, bạn gõ các số từ ô A1 đến ôn A4. Sau đó, tại 1 ô nào đó, bạn gõ: =A1:A2+A3:A4 là biết liền. Excel chỉ cộng từng ô một, nếu vùng phải dùng SUM
 
Upvote 0
Chào cả nhà.
Mình muốn lấy 2 column ngày tháng trừ nhau trong VBA nhưng ko hiểu sao thì bị lỗi '13'.Mình không hiểu là viết 2 range trừ nhau thì như thế nào.
Mã:
  Set r1 = ws_IncorrectInvoices.Range(Cells(3, 28), Cells(l_EndQueryRow, 29))
  Set r2 = ws_IncorrectInvoices.Range(Cells(3, 13), Cells(l_EndQueryRow, 14))
  Set rng_Format = r1 - r2

Sao chơi ăn gian thế, phải lấy từng ô trừ với nhau chứ. Theo mình thì phải dùng vòng lặp duyệt qua từng ô để trừ
 
Upvote 0
Sao chơi ăn gian thế, phải lấy từng ô trừ với nhau chứ. Theo mình thì phải dùng vòng lặp duyệt qua từng ô để trừ

Đâu cần dùng vòng lặp, sum vùng 1 và vùng 2, sau đó trừ ra là được.

Mã:
Sub test()
Set r1 = ws_IncorrectInvoices.Range(Cells(3, 28), Cells(l_EndQueryRow, 29))
Set r2 = ws_IncorrectInvoices.Range(Cells(3, 13), Cells(l_EndQueryRow, 14))
With Application.WorksheetFunction
    MsgBox .Sum(r1) - .Sum(r2)
End With
End Sub
 
Upvote 0
Đâu cần dùng vòng lặp, sum vùng 1 và vùng 2, sau đó trừ ra là được.

Mã:
Sub test()
Set r1 = ws_IncorrectInvoices.Range(Cells(3, 28), Cells(l_EndQueryRow, 29))
Set r2 = ws_IncorrectInvoices.Range(Cells(3, 13), Cells(l_EndQueryRow, 14))
With Application.WorksheetFunction
    MsgBox .Sum(r1) - .Sum(r2)
End With
End Sub

Theo như tôi hiểu thì hổng phải vậy
Hình như người ta muốn trừ dòng với dòng tương ứng
Ví dụ r1 = Range("A1:A10") và r2 = Range("B1:B10")
Thì người ta muốn có r3 với giá trị các dòng lần lượt là A1-B1, A2-B2, ..., A10-B10
Nếu là vậy thì r3 chính là độ chênh lệch ngày tháng giữa r1 và r2
Chứ làm như Hai Lúa, SUM(r1) - SUM(r2) thì kết quả nhận được chẳng biết nó là cái gì nữa
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom