thầy xem giúp e về lỗi này với ạ
Sub tonghop_dulieu2()
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
If .Show = -1 Then
Dim duongdan As String
Dim tenfile As String
duongdan = .SelectedItems(1) & "\"
tenfile = "*BangLuong*.xls*"
Dim file_duoc_mo As String
file_duoc_mo = Dir(duongdan & tenfile)
Do While file_duoc_mo <> ""
Dim wb1 As Workbook, wb2 As Workbook
Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Open(Filename:=duongdan & file_duoc_mo)
Dim lr1 As Long
lr1 = wb1.Sheets(2).Range("A" & Rows.Count).End(xlUp).Row
Dim lr2 As Long
lr2 = wb2.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
Dim fr2 As Long
fr2 = 8
Dim kc As Long
kc = lr2 - fr2 + 1
Dim dk As Long
dk = Application.WorksheetFunction.CountIfs(wb1.Sheets(2).Range("A6:A" & lr1), wb2.Sheets(1).Range("E2"), wb1.Sheets(2).Range("C6:C" & lr1), wb2.Sheets(1).Range("G2"))
If dk >= 1 Then
MsgBox "Du lieu da bi trung"
Exit Sub
Else
wb1.Sheets(2).Range("A" & lr1 + 1 & ":BM" & lr1 + kc).Value = _
wb2.Sheets(1).Range("A" & fr2 & ":BM" & lr2).Value
wb2.Close savechanges:=False
End If
'Xac dinh lai file khac duoc mo
file_duoc_mo = Dir
Loop
End If
End With
End Sub
Bạn chú ý ở đoạn code này:
tenfile = "*BangLuong*.xls*"
có ý nghĩa là lấy các file có tên BangLuong. Nhưng có thể trong thư mục của bạn không có file nào tên như vậy.
Bạn có thể thay tên file trong đoạn code này là:
tenfile = "*.xls*"
rồi thử chạy lại code xem saoe chọn đúng folder tải từ bài giảng về đây ạ, có đủ file bảng lương các tháng bên trong mà :))
nhưng e vừa tìm ra là do đường dẫn có những folder mẹ bên ngoài đang để tên tiếng việt có dấu nên code không chạy được
Đúng rồi, việc sử dụng tên folder bằng tiếng việt dễ bị sai khi dùng VBA.