NHỜ HỖ TRỢ CÔNG THỨC VBA LẤY DỮ LIỆU TỪ 1 FILE EXCEL ĐANG ĐÓNG (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

htktdm2020

Thành viên mới
Tham gia
21/8/20
Bài viết
25
Được thích
0
Chào Các Anh Chị !

Em đang sử dụng công thức " C:\Users\IBM\Desktop\File.xlsx " để lấy dữ liệu từ 1 file excel đang đóng . Công thức này e thấy dùng tốt nhưng khi lấy dữ liệu từ 1 file excel định dạng " .xls" thì không load được dữ liệu . Muốn Load dữ liệu thì phải mở file " .xls" mới cập nhật được dữ liệu mới

Em tìm trên diễn đàn các công thức VBA hỗ trợ lấy dữ liệu excel từ 1 file excel đang đóng = code VBA nhưng khi e thao tác báo lỗi N/A hoặc Ref

Em nhờ các Anh / Chị hỗ trợ giúp em với ạ . Em muốn lấy toàn bộ dữ liệu từ 1 sheet của 1 file excel A vào file excel B ( file A định dạng là .xls)
 
Bác thử code dưới xem được không. B1.xls có dữ liệu cần copy, b2.xlsm sheet2 có button1. khi bấm vào button1 sẽ copy số liệu từ A1:D30 của sheet1 trong B1.xls qua sheet1 trong b2.xlsm.
Mã:
Sub copy12()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim name1 As String
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\Users\Huy Dung\Desktop\New folder\B1.xls" ' tải về máy thì thay đường dẫn này giúp em!! em xin đa tạ.
Set ws1 = ActiveWorkbook.Sheets("Sheet1")
name1 = ActiveWorkbook.Name
Set ws2 = ThisWorkbook.Sheets("Sheet1")

ws1.Range("A1:D30").Copy ws2.Range("A1")
Workbooks(name1).Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub
 

File đính kèm

Bác thử code dưới xem được không. B1.xls có dữ liệu cần copy, b2.xlsm sheet2 có button1. khi bấm vào button1 sẽ copy số liệu từ A1:D30 của sheet1 trong B1.xls qua sheet1 trong b2.xlsm.
Mã:
Sub copy12()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim name1 As String
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\Users\Huy Dung\Desktop\New folder\B1.xls" ' tải về máy thì thay đường dẫn này giúp em!! em xin đa tạ.
Set ws1 = ActiveWorkbook.Sheets("Sheet1")
name1 = ActiveWorkbook.Name
Set ws2 = ThisWorkbook.Sheets("Sheet1")

ws1.Range("A1:D30").Copy ws2.Range("A1")
Workbooks(name1).Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub
Cám ơn Bạn !
Cho mình hỏi thêm nếu mình muốn chuyển file từ máy này sang máy kia thì nó bị sai đường dẫn nên phải gõ lại code , có code nào có thể giúp việc lấy dữ liệu k bị sai đường dẫn không ạ , chỉ cần tìm đến tên file đó ,mình để các file chung 1 thư mục .

Thêm nữa do Sheet của mình có tiếng việt nên khi làm code VBA sẽ lỗi , có cách nào gõ code mặc định lấy sheet đầu tiên không bạn
 
Lần chỉnh sửa cuối:
Sub copy12()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim name1 As String
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\Users\Huy Dung\Desktop\New folder\B1.xls" ' tải về máy thì thay đường dẫn này giúp em!! em xin đa tạ.
Set ws1 = ActiveWorkbook.Sheets("Sheet1")
name1 = ActiveWorkbook.Name
Set ws2 = ThisWorkbook.Sheets("Sheet1")

ws1.Range("A1:D30").Copy ws2.Range("A1")
Workbooks(name1).Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub


Nhờ Anh Chị hỗ trợ giúp em đoạn code trên ạ
Lấy Sheet đầu tiên vì tên Sheet có thể thay đổi ạ , với lại đường dẫn thay đổi nên em không biết có đoạn code nào thay thế để không phải chỉnh sửa thủ công đường dẫn đến thư mục ạ
Em cám ơn Anh Chị
 
Lần chỉnh sửa cuối:
Sub copy12()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim name1 As String
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\Users\Huy Dung\Desktop\New folder\B1.xls" ' tải về máy thì thay đường dẫn này giúp em!! em xin đa tạ.
Set ws1 = ActiveWorkbook.Sheets("Sheet1")
name1 = ActiveWorkbook.Name
Set ws2 = ThisWorkbook.Sheets("Sheet1")

ws1.Range("A1:D30").Copy ws2.Range("A1")
Workbooks(name1).Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub


Nhờ Anh Chị hỗ trợ giúp em đoạn code trên ạ
Lấy Sheet đầu tiên vì tên Sheet có thể thay đổi ạ , với lại đường dẫn thay đổi nên em không biết có đoạn code nào thay thế để không phải chỉnh sửa thủ công đường dẫn đến thư mục ạ
Em cám ơn Anh Chị
 
NHỜ CÁC ANH CHỊ HỖ TRỢ EM VỚI Ạ
1. CODE NÀO ĐỂ LẤY TÊN FILE K CẦN ĐƯỜNG DẪN VÌ EM ĐỂ CHUNG 1 THƯ MỤC. DO CODE PHÍA TRÊN KHI DÙNG NẾU ĐỔI MÁY SẼ SAI ĐƯỜNG DẪN
2. CODE NÀO LẤY SHEET ĐẦU TRONG TH MÌNH K BIẾT TÊN SHEET
EM CÁM ƠN
Bài này bỏ qua Nội quy Diễn đàn mà không sửa thì khả năng được giúp có thể đến 0,001%.
 
Lần chỉnh sửa cuối:
Lấy Sheet đầu tiên vì tên Sheet có thể thay đổi ạ ,
Đổi
ActiveWorkbook.Sheets("Sheet1") và ThisWorkbook.Sheets("Sheet1")
thành
ActiveWorkbook.Sheets(1) và ThisWorkbook.Sheets(1)
với lại đường dẫn thay đổi nên em không biết có đoạn code nào thay thế để không phải chỉnh sửa thủ công đường dẫn đến thư mục ạ
Nếu tập tin ngoài (B1.xls) và tập tin có code nằm cùng thư mục thì sửa thành
Mã:
Workbooks.Open Filename:=ThisWorkbook.Path & "\B1.xls"

Lưu ý: Tiêu đề và bài #4 phạm qui. Đọc lại nội qui và rút kinh nghiệm lần sau.
 
Đổi
ActiveWorkbook.Sheets("Sheet1") và ThisWorkbook.Sheets("Sheet1")
thành
ActiveWorkbook.Sheets(1) và ThisWorkbook.Sheets(1)

Nếu tập tin ngoài (B1.xls) và tập tin có code nằm cùng thư mục thì sửa thành
Mã:
Workbooks.Open Filename:=ThisWorkbook.Path & "\B1.xls"

Lưu ý: Tiêu đề và bài #4 phạm qui. Đọc lại nội qui và rút kinh nghiệm lần sau.
Dạ Cám ơn batman1
Em đã làm được
Cám ơn Anh Chị rất nhiều ạ
 
Web KT

Bài viết mới nhất

Back
Top Bottom