Võ Văn Lộc
Võ Văn Lộc
Thảo luận 4 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 104 lượt xem

Em chạy code để gộp dữ liệu nhưng khi dùng Sheet code name thì lỗi ko chạy

Em chạy code để gộp dữ liệu, nhưng khi dùng Sheet code name thì lỗi ko chạy được, nhưng nếu đổi sang Sheet Name thì chạy được . Nhờ Thầy/cô hỗ trợ giúp nếu muốn viết theo Sheet codename. Chi tiết đoạn code bên dưới

Sub Tong_Hop_Giu_Lieu2()
'Mo thu muc, chon file,gop vao 1 file
   With Application.FileDialog(msoFileDialogFilePicker)
       .AllowMultiSelect = True
       .Show 'Hien cua so chon file
 
'Xac dinh file nào duoc chon
   Dim i As Long
       For i = 1 To .SelectedItems.Count

'Gan bien cho cac WB
   Dim WB_KQ As Workbook
   Dim WB_Select As Workbook
       Set WB_KQ = ThisWorkbook
       Set WB_Select = Workbooks.Open(.SelectedItems(i))

'Tim du lieu tu các WB Data
   Dim DongCuoi_Select As Long
       DongCuoi_Select = WB_Select.Sheet1.Range("F" & Rows.Count).End(xlUp).Row
   Dim DongDau_Select As Long
       DongDau_Select = 8
   Dim KhoangCach_Select As Long
       KhoangCach_Select = DongCuoi_Select - DongDau_Select + 1

'Tim Dong cuoi noi nhan
   Dim DongCuoi_KQ As Long
       DongCuoi_KQ = WB_KQ.Sheet6.Range("F" & Rows.Count).End(xlUp).Row

'Gan Du Lieu
   WB_KQ.Sheet6.Range("A" & DongCuoi_KQ + 1 & ":BM" & DongCuoi_KQ + KhoangCach_Select).Value = _
   WB_Select.Sheet1.Range("A" & DongDau_Select & ":BM" & DongCuoi_Select).Value
'Dong WB lai
   WB_Select.Close savechanges:=False
       Next i
       
   End With
End Sub

 

Thảo luận 4 câu trả lời
Lượt xem 104 lượt xem
Vỗ tay vỗ tay
Võ Văn Lộc 09:08 - Aug 08, 2022

Khi viết mà có kèm theo workbook thì đối tượng worksheet phải viết ở dạng Sheet-Name chứ không viết ở dạng Sheet-codeName. Đây là quy định trong VBA rồi nên phải tuân thủ thôi bạn nhé. Nếu không có kèm workbook thì viết thế nào cũng được.

Vỗ tay vỗ tay
Võ Văn Lộc 22:10 - Oct 11, 2022

Hi Thầy nếu wb4 là wb cần đưa dữ liệu vào luôn ở dạng close thì làm sao để chuyển  dữ liệu từ wb1, wb2 thành viên vào wb4 được ah, wb1,wb 2 sẽ mở ra làm việc hàng ngày? nhờ thầy hướng dẫn

Vỗ tay vỗ tay
Võ Văn Lộc 09:10 - Oct 12, 2022

Trong code trên, bạn luôn đặt 1 lệnh open wb4 lên. Sau đó mới làm việc với wb này. Làm việc xong ở cuối câu lệnh bạn viết lệnh đóng wb4 lại.

Hình dung là khi muốn làm việc với wb khác, bạn luôn phải mở wb đó ra mới làm việc được. Dùng xong thì đóng lại để chỉ hiển thị wb đang làm việc thôi (là wb1, wb2)

Vỗ tay vỗ tay
Võ Văn Lộc 14:11 - Nov 03, 2022

Hi Thầy : Vậy phần viết code là mình viết trên wb thành viên (wb1; wb2) đúng ko ah? vì wb4 luôn đóng, chỉ khi cần report thì mới mở ra để kt thôi ah. 

và phiền thầy có thể chỉ thêm giúp em: nếu em muốn mã Bin/bag nào đã chuyển đi rồi thì tương ứng với nó sẽ gán chữ “ No” thì mình viết code sao được ah?

VB: thay vì nhập trực tiếp - thì viết code sao ở sheet bên ngoài để gán “ No” vào sheet data này ah? => Em cảm ơn thầy nhiều!

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