Sub nhapkho_do_while()
Sheets(3).Unprotect
'Tao thu muc mo
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
If .Show = -1 Then
Dim duongdan As String
duongdan = .SelectedItems(1) & "\"
Dim tenfile As String
tenfile = "*INPUT_DATA* .xls*"
Dim file_duoc_mo As String
file_duoc_mo = Dir(duongdan & tenfile)
Do While dile_duoc_mo <> ""
'Xac dinh file cho nhan
Dim wb_cho As Workbook
Dim wb_nhan As Workbook
Set wb_nhan = ThisWorkbook
Set wb_cho = Workbooks.Open(Filename:=duongdan & file_duoc_mo)
'Khai bao bien
Dim dongcuoi_cho As Long
dongcuoi_cho = wb_cho.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Dim dongdau_cho As Byte
dongdau_cho = 3
Dim khoangcach_cho As Integer
khoangcach_cho = dongcuoi_cho - dongdau_cho + 1
Dim dongcuoi_nhan As Long
dongcuoi_nhan = wb_nhan.Sheets(3).Cells(Rows.Count, 2).End(xlUp).Row
'Cu phap logic
wb_nhan.Sheets(3).Range("B" & dongcuoi_nhan + 1 & ":I" & dongcuoi_nhan + khoangcach_cho).Value = _
wb_cho.Sheets(1).Range("A" & dongdau_cho & ":H" & dongcuoi_cho).Value
' dong Wb vua mo
wb_cho.Close savechanges:=False
' xac dinh file khac duoc mo
file_duoc_mo = Dir
Loop
End If
End With
End Sub
Add kiểm tra dùm sao doạn code chạy đến ( If .Show = -1 Then )thì nó quay lại bước đầu ạ
Thanks.
Lệnh .show của FileDialog thì:
tham số -1 thể hiện nút bấm OK
tham số 0 thể hiện nút bấm Cancel
Cần xem lại thao tác bạn có bấm vào nút OK không.
Về logic thì mình thấy code không có vấn đề gì. Bạn có thể gửi kèm file để xem code chạy bị lỗi ở dòng nào nhé.