Chào mọi người,
Hiện nay mình đang muốn viết 1 ứng dụng dùng để lấy thông tin khách hàng đã có để xuất hóa đơn.
Có 2 file excel gồm : file Info_TH và file VAT
Cách làm là khi mở file VAT để xuất hóa đơn, người dùng sẽ đánh MST khách hàng vào cột MST, sau khi nhấn enter thì chương trình sẽ dùng MST vừa nhập tìm kiếm thông tin như tên,địa chỉ...từ file Info_TH và điền vào các cột còn trống bên file VAT.
Lưu ý là mình không muốn mở file Info_TH lên.
Do file Info_TH quá nặng nên nếu mỗi lần tìm kiếm mà access vào nó thì sẽ rất lâu nên mình muốn khi mở file VAT thì chương trình sẽ load file Info_TH trước, sau đó cache Sheet chứa thông tin vào biến Worksheet để dùng cho nhiều lần...
Mình đang dùng code sau, nhưng không hiểu sao khi search thì chạy cũng rất lâu nên mong mọi người chỉ mình thêm cách khác
Cám ơn mọi người.
Hiện nay mình đang muốn viết 1 ứng dụng dùng để lấy thông tin khách hàng đã có để xuất hóa đơn.
Có 2 file excel gồm : file Info_TH và file VAT
Cách làm là khi mở file VAT để xuất hóa đơn, người dùng sẽ đánh MST khách hàng vào cột MST, sau khi nhấn enter thì chương trình sẽ dùng MST vừa nhập tìm kiếm thông tin như tên,địa chỉ...từ file Info_TH và điền vào các cột còn trống bên file VAT.
Lưu ý là mình không muốn mở file Info_TH lên.
Do file Info_TH quá nặng nên nếu mỗi lần tìm kiếm mà access vào nó thì sẽ rất lâu nên mình muốn khi mở file VAT thì chương trình sẽ load file Info_TH trước, sau đó cache Sheet chứa thông tin vào biến Worksheet để dùng cho nhiều lần...
Mình đang dùng code sau, nhưng không hiểu sao khi search thì chạy cũng rất lâu nên mong mọi người chỉ mình thêm cách khác
Mã:
Public filepath As String
' chon duong dan den file Info_TH
Private Sub Workbook_Open()
With Application.FileDialog(msoFileDialogOpen)
.Title = "Please choose the source file"
.AllowMultiSelect = False
If Not .Show() = False Then
filepath = .SelectedItems(1)
Module1.RefreshData
End If
End With
End Sub
'load sheet1 tu file Info_TH
Public xlws As Excel.Worksheet
Sub RefreshData()
Dim xlw As Excel.Workbook
Dim xlapp As Excel.Application
Set xlapp = New Excel.Application
xlapp.Visible = False
Set xlw = xlapp.Workbooks.Open(ThisWorkbook.filepath, , True)
Set xlws = xlw.Worksheets(1)
End Sub
Cám ơn mọi người.