Lấy dữ liệu từ cell bất kỳ của file excel bất kỳ vào Form bằng VBA

Liên hệ QC

phamdinhnha

Thành viên mới
Tham gia
17/8/12
Bài viết
36
Được thích
4
Mình có vấn đề sau cần các anh chị giúp. Mình có 1 Form nhập liệu, trên có các textbox để nhập tay và button (+), vậy làm thế nào để khi có những file excel khách hàng gửi đến, mình click button (+) nó sẽ mở đường dẫn để mình chọn dữ liệu ở 1 cell bất kỳ trong file bất kỳ , mục đích nhằm tránh mất công và sai sót khi nhập tay. Mình xin gửi file demo để nhờ các anh chị, xin cám ơn trước nhiều ạ!
 

File đính kèm

  • InputData.xlsx
    8 KB · Đọc: 11
Mất công tải cái file được gọi là demo. File chỉ có 1 sheet trắng trinh nguyên. Bạn thật là khéo đùa!
 
Mất công tải cái file được gọi là demo. File chỉ có 1 sheet trắng trinh nguyên. Bạn thật là khéo đùa!
Thế hả bạn, mình sorry, để mình kiểm tra lại
Bài đã được tự động gộp:

Sorry các anh chị, hôm trước gửi nhầm file trằng, em xin gửi lại, để nhờ các anh chị giúp. Cám ơn nhiều
Bài đã được tự động gộp:

Hiếm khi thấy một người gặp trinh nguyên mà còn chê mất công.
Sory bạn, Mình xin gửi lại, nhờ bạn giúp
 

File đính kèm

  • InputData_1.xlsm
    20.1 KB · Đọc: 17
  • InputData_1.xlsm
    20.1 KB · Đọc: 8
Lần chỉnh sửa cuối:
Bạn thử có đúng ý không?
Thậy tuyệt vời, rất cám ơn bạn, thật đúng mong muốn của mình. Tuy nhiên, nhờ bạn giúp ở 2 ý sau:
1- Trong Code chỉ mở file XLS, vậy nếu khách hàng gửi đến fiel dạng XLSM thì phải sửa code như thế nào bạn.
2- Trong đoạn code:
If Opt = 1 Then
Form1.txtSoHopDong = varDL
ElseIf Opt = 2 Then
Form1.txtNgayHD = varDL
Nếu mình muốn mở rộng thêm nhiều textbox (không phải là 2 như trong file Demo) thì mình phải thêm nhiều Elseif phải không?
 
Thậy tuyệt vời, rất cám ơn bạn, thật đúng mong muốn của mình. Tuy nhiên, nhờ bạn giúp ở 2 ý sau:
1- Trong Code chỉ mở file XLS, vậy nếu khách hàng gửi đến fiel dạng XLSM thì phải sửa code như thế nào bạn.
2- Trong đoạn code:
If Opt = 1 Then
Form1.txtSoHopDong = varDL
ElseIf Opt = 2 Then
Form1.txtNgayHD = varDL
Nếu mình muốn mở rộng thêm nhiều textbox (không phải là 2 như trong file Demo) thì mình phải thêm nhiều Elseif phải không?
1/ Trong cây thư mục của hộp thoại hiện tất cả các file có đuôi là xls* mà. Bạn không để ý điều đó sao?
2/ Đúng như ý bạn nói, và đồng thời phải xử lý luôn code lưu dữ liệu của Form1 nữa:
Rich (BB code):
Private Sub cbLuuFile_Click()
    Dim rw&
    With Sheets("Theo_doi_HD")
        rw = .Range("A65536").End(xlUp).Offset(1).Row
        .Cells(rw, 1) = txtSoHopDong.Value
        .Cells(rw, 2) = txtNgayHD.Value
        'Thêm vị trí lưu = giá trị muốn lưu ở đây
    End With
End Sub
 
1/ Trong cây thư mục của hộp thoại hiện tất cả các file có đuôi là xls* mà. Bạn không để ý điều đó sao?
2/ Đúng như ý bạn nói, và đồng thời phải xử lý luôn code lưu dữ liệu của Form1 nữa:
Rich (BB code):
Private Sub cbLuuFile_Click()
    Dim rw&
    With Sheets("Theo_doi_HD")
        rw = .Range("A65536").End(xlUp).Offset(1).Row
        .Cells(rw, 1) = txtSoHopDong.Value
        .Cells(rw, 2) = txtNgayHD.Value
        'Thêm vị trí lưu = giá trị muốn lưu ở đây
    End With
End Sub
Rất cám ơn bạn!
 
1/ Trong cây thư mục của hộp thoại hiện tất cả các file có đuôi là xls* mà. Bạn không để ý điều đó sao?
2/ Đúng như ý bạn nói, và đồng thời phải xử lý luôn code lưu dữ liệu của Form1 nữa:
Rich (BB code):
Private Sub cbLuuFile_Click()
    Dim rw&
    With Sheets("Theo_doi_HD")
        rw = .Range("A65536").End(xlUp).Offset(1).Row
        .Cells(rw, 1) = txtSoHopDong.Value
        .Cells(rw, 2) = txtNgayHD.Value
        'Thêm vị trí lưu = giá trị muốn lưu ở đây
    End With
End Sub
Bạn cho mình hỏi nếu trường hợp mình muốn chọn cùng lúc nhiều ô cell theo chiều dọc cùng lúc thì điều chỉnh như thế nào bạn?
 
Lâu quá rồi và chừ không có máy tính, tôi không biết cách nào để trả lời.
 
Web KT
Back
Top Bottom