VBA Load Lại Dữ Liệu File Hóa Đơn Bán Hàng (2 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

trantheco1

Thành viên mới
Tham gia
31/12/22
Bài viết
1
Được thích
0
Hi các bác, em đang làm file hóa đơn bán hàng bằng VBA, e làm xong các bước: in và lưu hóa đơn rồi, đến bước load lại hóa đơn để sửa hoặc in lại thì bị lỗi.
Sub laylaihoadon()
Dim shnguon As Worksheet, shdich As Worksheet
Dim i As Long, a As Long, dk As Long, arr(), kq(), lr As Long

Set shnguon = Sheets("Chitiethd")
Set shdich = Sheets("Hoadon")
dk = shdich.Range("G1").Value
With shnguon
lr = .Range("A" & Rows.Count).End(xlUp).Row
arr = .Range("A4:K" & lr).Value
ReDim kq(1 To UBound(arr, 1), 1 To 7)
For i = 1 To UBound(arr, 1)
If arr(i, 1) = dk Then
a = a + 1
kq(a, 1) = arr(i, 6)
kq(a, 2) = arr(i, 7)
kq(a, 3) = arr(i, 8)
kq(a, 4) = arr(i, 9)
kq(a, 5) = arr(i, 10)
kq(a, 6) = arr(i, 11)
End If
Next
End With
' output dua ket qua ra sheet hoa don
With shdich
.Range("B14:H27").ClearContents ' xoa trang du lieu
.Range("B14").Resize(a, 7).Value = kq
End With

End Sub
dòng màu vàng cứ báo lỗi, không biết lỗi ở đâu, các bác cho e xin ý kiến ạ
 
Bạn thử bỏ dấu "()" chỗ "arr(), kq(), lr As Long"
 
Upvote 0
Hi các bác, em đang làm file hóa đơn bán hàng bằng VBA, e làm xong các bước: in và lưu hóa đơn rồi, đến bước load lại hóa đơn để sửa hoặc in lại thì bị lỗi.
Sub laylaihoadon()
Dim shnguon As Worksheet, shdich As Worksheet
Dim i As Long, a As Long, dk As Long, arr(), kq(), lr As Long

Set shnguon = Sheets("Chitiethd")
Set shdich = Sheets("Hoadon")
dk = shdich.Range("G1").Value
With shnguon
lr = .Range("A" & Rows.Count).End(xlUp).Row
arr = .Range("A4:K" & lr).Value
ReDim kq(1 To UBound(arr, 1), 1 To 7)
For i = 1 To UBound(arr, 1)
If arr(i, 1) = dk Then
a = a + 1
kq(a, 1) = arr(i, 6)
kq(a, 2) = arr(i, 7)
kq(a, 3) = arr(i, 8)
kq(a, 4) = arr(i, 9)
kq(a, 5) = arr(i, 10)
kq(a, 6) = arr(i, 11)
End If
Next
End With
' output dua ket qua ra sheet hoa don
With shdich
.Range("B14:H27").ClearContents ' xoa trang du lieu
.Range("B14").Resize(a, 7).Value = kq
End With

End Sub
dòng màu vàng cứ báo lỗi, không biết lỗi ở đâu, các bác cho e xin ý kiến ạ
Có dòng nào thoả mãn không.
 
Upvote 0
bạn xem lại .Range("B14").Resize(a, 7).Value = kq thay bằng .Range("B14").Resize(a, 6).Value = kq xem sao
 
Upvote 0
Hi các bác, em đang làm file hóa đơn bán hàng bằng VBA, e làm xong các bước: in và lưu hóa đơn rồi, đến bước load lại hóa đơn để sửa hoặc in lại thì bị lỗi.
Sub laylaihoadon()
' . . . . . '
.Range("B14:H27").ClearContents ' xoa trang du lieu
.Range("B14").Resize(a, 7).Value = kq
End With
End Sub
dòng màu vàng cứ báo lỗi, không biết lỗi ở đâu, các bác cho e xin ý kiến ạ
Lỗi nó báo là như thế nào vậy bạn?
Từ cách mà nó báo lỗi ta có thể đề ra hướng khắc phục.
Tựu chung là nên bẩy lỗi & .v.v . . . . . .
 
Upvote 0
Web KT

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

Back
Top Bottom