tinydragon
Thành viên mới

- Tham gia
- 1/11/13
- Bài viết
- 17
- Được thích
- 4
- Giới tính
- Nữ
Dear các anh/chị,
Em có viết 1 đoạn code VBA trong file W154_macro để tính dữ liệu từ file Data input như bên dưới.
Tuy nhiên nó chưa tính ra được kết quả. Em nghĩ lỗi ở chỗ em set wb = Workbooks.Open(Filename).
Rất mong được các anh, chị hỗ trợ. Em cảm ơn nhiều ạ!
"Sub sumif_Loop_W154()
Dim Filename As Variant
Dim i As Integer
Dim wb As Workbook
Dim sh As Worksheet
Dim Total As Long
Filename = Application.GetOpenFilename(filefilter:="Excel Files, *.xl*")
If Not IsArray(Filename) Then Exit Sub
Application.ScreenUpdating = False
Set wb = Workbooks.Open(Filename)
Set sh = ThisWorkbook.Worksheets("CBD_Loan")
For i = 5 To 18
sh.Cells(i, 5).Select
Total = WorksheetFunction.SumIfs(wb.Worksheets("Excel").Range("Q:Q"), wb.Worksheets("Excel").Range("J:J"), "C", wb.Worksheets("Excel").Range("B:B"), sh.Cells(i, 1).Value, _
wb.Worksheets("Excel").Range("G:G"), "USD", wb.Worksheets("Excel").Range("H:H"), "<>GLFU", _
wb.Worksheets("Excel").Range("H:H"), "<>GLFV")
ActiveCell.Value = Total
Next
wb.Close
Application.ScreenUpdating = True
End Sub"
Em có viết 1 đoạn code VBA trong file W154_macro để tính dữ liệu từ file Data input như bên dưới.
Tuy nhiên nó chưa tính ra được kết quả. Em nghĩ lỗi ở chỗ em set wb = Workbooks.Open(Filename).
Rất mong được các anh, chị hỗ trợ. Em cảm ơn nhiều ạ!
"Sub sumif_Loop_W154()
Dim Filename As Variant
Dim i As Integer
Dim wb As Workbook
Dim sh As Worksheet
Dim Total As Long
Filename = Application.GetOpenFilename(filefilter:="Excel Files, *.xl*")
If Not IsArray(Filename) Then Exit Sub
Application.ScreenUpdating = False
Set wb = Workbooks.Open(Filename)
Set sh = ThisWorkbook.Worksheets("CBD_Loan")
For i = 5 To 18
sh.Cells(i, 5).Select
Total = WorksheetFunction.SumIfs(wb.Worksheets("Excel").Range("Q:Q"), wb.Worksheets("Excel").Range("J:J"), "C", wb.Worksheets("Excel").Range("B:B"), sh.Cells(i, 1).Value, _
wb.Worksheets("Excel").Range("G:G"), "USD", wb.Worksheets("Excel").Range("H:H"), "<>GLFU", _
wb.Worksheets("Excel").Range("H:H"), "<>GLFV")
ActiveCell.Value = Total
Next
wb.Close
Application.ScreenUpdating = True
End Sub"