11/05/2018, 07:48

THắc mắc code không chạy được! để tạo sổ Phải thu

Dear All! Em có chỉnh sửa lại đoạn code bên dưới nhưng không biết sai chỗ nào mà nó ko báo là sai gì cả Và cũng không thấy hoạt động như ý mình mong muốn là vì sao? Nhờ các bác chỉ giáo? Em đang làm sổ ngân hàng và sổ phải thu để theo dõi chi tiết những khoảng tiền về cho từng khách hàng. ...

Dear All!
Em có chỉnh sửa lại đoạn code bên dưới nhưng không biết sai chỗ nào mà nó ko báo là sai gì cả
Và cũng không thấy hoạt động như ý mình mong muốn là vì sao?
Nhờ các bác chỉ giáo?
Em đang làm sổ ngân hàng và sổ phải thu để theo dõi chi tiết những khoảng tiền về cho từng khách hàng.
Em gửi file đính kèm:
Trong file có sheets 1122NKC và GiathanhSX từ hai sheets đó Em đang tính và dự định lọc sang sheets CT131. Để theo dõi số dư của từng khách hàng?
Mình không biết cách gửi file nên trên diễn đàn! mình gửi qua mediafire vậy!
mediafire.com/download/iwr560dzzfudhvj/Ngan+hang+USD+%282%29+%28Recovered%29.xlsm
[GPECODE=vb]
'tach' khai bao' bien' de? dung` chung cac Sub
Dim tendoituong As String, FromThang As Integer, ToThang As Integer


Sub LocTkco()
With ActiveSheet '<=> CT131
'check cac dieu kien
If .CT131cbo_from.Value = Empty Or _
.CT131cbo_from.Value = Empty Or .ct131cbo_to.Value = Empty Then
MsgBox ("Ban chua dien ten doi' tuong va thang' can` loc"), vbExclamation, "Thông báo"
Exit Sub
ElseIf .CT131cbo_from.Value > .ct131cbo_to Then
MsgBox ("Thang' ke^ khai: Tu` thang' den' thang' chua hop ly'"), vbExclamation
Exit Sub
Else
tendoituong = .ct131cbo_tendoituong.Value
FromThang = .CT131cbo_from.Value
ToThang = .ct131cbo_to.Value
End If
End With


Application.ScreenUpdating = False

Call Loc_GiathanhSX
Call Loc_1122NKC
Application.ScreenUpdating = True

End Sub




Sub Loc_GiathanhS)
Dim vung1(), dArr(), i As Long, K As Long 'ko the tach' i, K len tren de dung` chung


vung1 = Range("tbl_GiathanhSX").Value 'khi dung` Table -> ko can show all row.

ReDim dArr(1 To UBound(vung1, 1), 1 To 16) 'xac dinh kich thuoc mang

For i = 1 To UBound(vung1, 1)
If UCase(vung1(i, 6)) = UCase(tendoituong) Then
If vung1(i, 1) >= FromThang And vung1(i, 1) <= ToThang Then
If vung1(i, 8) = 131 Then
K = K + 1

dArr(K, 1) = vung1(i, 1) 'Moth declara
dArr(K, 5) = vung1(i, 3) 'So HD
dArr(K, 6) = vung1(i, 4) 'Ngay thang
dArr(K, 7) = vung1(i, 7) 'Ma Hang
dArr(K, 8) = vung1(i, 9) 'TK No131
dArr(K, 9) = vung1(i, 10) 'TKco5113
dArr(K, 10) = vung1(i, 11) 'So luong
dArr(K, 11) = vung1(i, 12) 'DonGia ban VND
dArr(K, 12) = vung1(i, 13) 'DonGia ban USD
dArr(K, 13) = vung1(i, 14) 'Tonggiathanh VND
dArr(K, 14) = vung1(i, 15) 'Tonggiathanh USD
'dArr(K, 11) = vung1(i, 12) 'Amount
dArr(K, 16) = "=R[-1]C+RC[-2]-RC[-1]" 'Balance
End If
End If
End If
Next i

If K Then
With ThisWorkbook.Sheets("CT131")
.[B13].Resize(P, 16) = dArr
End With

Erase dArr
End If
End Sub


Sub Loc_1122NKC()
Dim vung2(), dArr(), i As Long, K As Long


vung2 = Range("tbl_1122NKC").Value

ReDim dArr(1 To UBound(vung2, 1), 1 To 13) 'xac dinh kich thuoc mang

For i = 1 To UBound(vung2, 1)
If UCase(vung2(i, 6)) = UCase(tendoituong) Then
If vung2(i, 1) >= FromThang And vung2(i, 1) <= ToThang Then
If vung2(i, 7) = 131 Or vung2(i, 8) = 131 Then
K = K + 1

dArr(K, 1) = vung2(i, 1) 'month ke khai

dArr(K, 2) = vung2(i, 2) 'Ten ngan hang

dArr(K, 3) = vung2(i, 4) 'ngay thang chung tu ngan hang

dArr(K, 7) = vung2(i, 5) 'Dien gian

dArr(K, 8) = vung2(i, 7) 'Tai khoan No131

dArr(K, 9) = vung2(i, 8) 'Tk Co tk131

'dArr(K, 9) = vung2(i, 8) 'TK co

If vung2(i, 8) = 131 Then
dArr(K, 15) = vung2(i, 9) 'Paid
' Else
' dArr(K, 12) = vung2(i, 9) 'Paid
End If

dArr(K, 16) = "=R[-1]C+RC[-2]-RC[-1]" 'Balance

'dArr(K, 5) = vung2(i, 5) 'so HD

'dArr(K, 8) = vung2(i, 9) 'N

'dArr(K, 10) = vung2(i, 11) 'C

End If
End If
End If
Next i

If K Then
'ua? nho' lan` truoc co' chinh? o? day roi` ma` he`
With ThisWorkbook.Sheets("CT131")
'If .Range("A7") <> "" Then
If .Range("Q15") <> "" Then 'luon luon co' (19-6)
.Range("A65536").End(xlUp).Offset(1).Resize(K, 16) = dArr
Else
.[B15].Resize(K, 16) = dArr
End If
End With

Erase dArr
End If
End Sub



[/GPECODE]
0