Load 1 worksheet từ file excel khác và cache trên workbook đang sử dụng (2 người xem)

  • Thread starter Thread starter qdu291
  • Ngày gửi Ngày gửi
Liên hệ QC

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

qdu291

Thành viên mới
Tham gia
13/3/13
Bài viết
2
Được thích
0
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

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.
 
Web KT

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

Back
Top Bottom