titanic20072007
Thành viên thường trực
- Tham gia
- 10/7/07
- Bài viết
- 213
- Được thích
- 8
- Nghề nghiệp
- Giáo viên
Chào các bạn. Mình có đoạn code lấy DL từ nhiều tệp có cùng cấu trúc vào một sheet chạy ổn rồi nhưng nếu các tệp kia bị đặt Protect Workbook thì không lấy được DL. Nhờ các bạn chỉ giúp cách giải quyết. Cảm ơn nhiều.
....
vFile = Application.GetOpenFilename("Excel File, *.xls; *.xlsx; *.xlsm", , , , True)
Tensheet = ActiveSheet.CodeName
VungDL = "Khoi 9": RangeAddress = "B6:H341"
Range("B8:AC8071").ClearContents
Range("AE8:AE8071").ClearContents
If TypeName(vFile) = "Variant()" Then
SheetName = VungDL
For Each FileItem In vFile
FileName = CStr(FileItem)
If UCase(FileName) <> UCase(ThisWorkbook.FullName) Then
aRes = GetData(FileName, SheetName, RangeAddress, False, False)
If IsArray(aRes) Then
Set Target = Range("B60000").End(xlUp).Offset(1)
Target.Resize(UBound(aRes, 1) + 1, UBound(aRes, 2)).Value = aRes
End If
End If
Next
End If
....
vFile = Application.GetOpenFilename("Excel File, *.xls; *.xlsx; *.xlsm", , , , True)
Tensheet = ActiveSheet.CodeName
VungDL = "Khoi 9": RangeAddress = "B6:H341"
Range("B8:AC8071").ClearContents
Range("AE8:AE8071").ClearContents
If TypeName(vFile) = "Variant()" Then
SheetName = VungDL
For Each FileItem In vFile
FileName = CStr(FileItem)
If UCase(FileName) <> UCase(ThisWorkbook.FullName) Then
aRes = GetData(FileName, SheetName, RangeAddress, False, False)
If IsArray(aRes) Then
Set Target = Range("B60000").End(xlUp).Offset(1)
Target.Resize(UBound(aRes, 1) + 1, UBound(aRes, 2)).Value = aRes
End If
End If
Next
End If
Lần chỉnh sửa cuối: