Nguyễn Phương Linh
Nguyễn Phương Linh
Thảo luận 2 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 154 lượt xem

đoạn này bị lỗi gì vậy ạ?

Thầy cho em hỏi đoạn này bị lỗi gì vậy ạ?


Thảo luận 2 câu trả lời
Lượt xem 154 lượt xem
Vỗ tay vỗ tay
Nguyễn Phương Linh 14:12 - Dec 17, 2021

bạn xem đã chọn file chưa, và tên file được chọn có chứa tên là BangLuong không. Lỗi ở đây liên quan tới file được chọn. Bạn có thể sử dụng đoạn code mẫu sau đây để lấy dữ liệu từ nhiều file vào 1 file (bỏ qua phần tên file, nhớ sửa lại phạm vi vùng cho-nhận):

Sub  Import_data_from_multi_Workbooks()
  'Khai báo các biến sử dụng
     Dim ThisWB As Workbook, OpenWB As Workbook     'Biến Workbook
     Dim i As Integer      'Biến vòng lặp
     Dim lr_Data As Long       'Dòng cuối bảng nhận dữ  liệu (lr = Last Row)
     Dim fr_OpenWB As Long       'Dòng đầu bảng cho dữ liệu (fr = First Row)
     Dim lr_OpenWB As Long       'Dòng cuối bảng cho dữ liệu
     Dim KhoangCach As Long     'Khoảng cách tính từ dòng đầu tới dòng cuối nơi cho
     With Application.FileDialog(msoFileDialogFilePicker)
          .AllowMultiSelect = True   'Cho phép chọn nhiều file cùng lúc (chọn 1 file là False)
          .Show
        For i = 1 To .SelectedItems.Count   'Vòng lặp theo số file được chọn
          Set ThisWB = ThisWorkbook        'Workbook ban đầu
          Set OpenWB = Workbooks.Open(.SelectedItems(i))     'Workbook được chọn
          'Xác định giá trị các biến phạm vi Nơi cho, Nơi nhận
          lr_Data = ThisWB.Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
          fr_OpenWB = 8
          lr_OpenWB = OpenWB.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
          KhoangCach = lr_OpenWB - fr_OpenWB + 1
          'Đưa dữ liệu từ Nơi cho sang Nơi nhận
          ThisWB.Sheets("Data").Range("A" & lr_Data + 1 & ":BM" & lr_Data + KhoangCach).Value = _
                OpenWB.Sheets(1).Range("A" & fr_OpenWB & ":BM" & lr_OpenWB).Value
          'Đóng bảng tính đã mở lên trước đó
          OpenWB.Close SaveChanges:=False   
        Next i
     End With
End Sub
Vỗ tay vỗ tay
Nguyễn Phương Linh 20:12 - Dec 17, 2021
vòng lặp For thì mình làm được rồi. còn mình đang chưa làm đươc, đang bị lỗi là vòng lặp Do While. Hôm trước thầy có gửi link code mẫu nhưng mình thấy file Do While mẫu cũng báo lỗi này.
Vỗ tay vỗ tay
Câu hỏi liên quan
@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông