Cách tạo nút Browse

Liên hệ QC

gakon001

Thành viên mới
Tham gia
24/9/11
Bài viết
34
Được thích
1
Mình muốn tạo một nút Brower trên form để tải dữ liệu từ file excel này vào file excel khác. Các bạn giúp mình với
brower.jpg
 
Lần chỉnh sửa cuối:
thưa thầy. đoạn code này chỉ đưa đường dẫn đến file, với n = 1 thì chấp nhận mở tất cả các định dạng. Nhưng vấn đề là sau khi chọn được file này, làm sao mình có thể coppy dữ liệu trong 1 sheet nào đó trong file excel này sang file excel hiện hành? Giúp em với hu hú. em cám ơn nhiều
 
Lần chỉnh sửa cuối:
Upvote 0
thưa thầy. đoạn code này chỉ đưa đường dẫn đến file, với n = 1 thì chấp nhận mở tất cả các định dạng. Nhưng vấn đề là sau khi chọn được file này, làm sao mình có thể coppy dữ liệu trong 1 sheet nào đó trong file excel này sang file excel hiện hành? Giúp em với hu hú. em cám ơn nhiều
Thì mở file đã chọn lên rồi copy
Ví dụ:
PHP:
Sub Test()
  On Error Resume Next
  With Application.FileDialog(1)
    .Filters.Clear
    .Filters.Add "Excel Files", "*.xls", 1
    .Show: .AllowMultiSelect = False
    Workbooks.Open .SelectedItems(1)
  End With
End Sub
Code này mở hộp FileDialog, cho bạn chọn 1 file xls và mở file ấy lên ---> Mở xong rồi, muốn làm gì tiếp là việc của bạn
 
Upvote 0
File thứ nhì đã mở rồi, chả lẽ không biết cách copy? Bạn copy và ghi lại bằng record macro sẽ có code.
 
Upvote 0
ptm0412 đã viết:
File thứ nhì đã mở rồi, chả lẽ không biết cách copy? Bạn copy và ghi lại bằng record macro sẽ có code.
Em đã theo mấy anh làm macro, nhưng lại nảy sinh ra 1 vấn đề mới. Vd, đang ở file excel tên là book1.xls, em sẽ dùng đoạn code trên để load file excel book2.xls, lấy dc dữ liệu trong đó 1 cách dễ dàng. Nhưng vấn đề là cái tên
 
Lần chỉnh sửa cuối:
Upvote 0
Khi file book2 hay file bất kỳ nào vừa mở lên bằng File Open Dialog, file đó sẽ được activate.
Vậy thì ActiveWorkbook.Sheets(1).copy <Destination=book1>
 
Upvote 0
Em đã theo mấy anh làm macro, nhưng lại nảy sinh ra 1 vấn đề mới. Vd, đang ở file excel tên là book1.xls, em sẽ dùng đoạn code trên để load file excel book2.xls, lấy dc dữ liệu trong đó 1 cách dễ dàng. Nhưng vấn đề là cái tên "book2.xls" sẽ là 1 cái tên cố định trong macro, lần sau em muốn load file khác, nó vẫn cứ load nội dung file book2.xls. Vậy em phải làm sao?
Cái file book2.xls chính là thằng SelectedItems(1) ở code trên chứ đâu nữa ---> Tức Workbooks.Open "Cái gì" thì Book2.xls của bạn chính là "Cái đó"
 
Upvote 0
Private Sub CommandButton2_Click()
On Error Resume Next
With Application.FileDialog(1)
.Filters.Clear
.Filters.Add
 
Lần chỉnh sửa cuối:
Upvote 0
Private Sub CommandButton2_Click()
On Error Resume Next
With Application.FileDialog(1)
.Filters.Clear
.Filters.Add "Excel Files", "*.xls", 1
.Show: .AllowMultiSelect = False
Workbooks.Open .SelectedItems(1)
activeWorkbooks.Sheets(1).Activate
End With

i = 1
While activeWorkbooks.Sheets(1).Range("A" & i) <> ""
i = i + 1
Wend
i = i - 1
'lấy dữ liều từ file khác qua file open.xls
Windows("open.xls").Activate

For t = 1 To i
Windows("open.xls").workSheets("sheet1").Range("A" & i + 2).Value = activeWorkbooks.Sheets(1).Range("A" & i).Value
Next t

coppy.Hide
End Sub

Bị lỗi! Giúp em với
Về câu hỏi TẠO NÚT BROWSE thì đã giải quyết xong rồi
Vấn đề tiếp theo của bạn chẳng liên quan gì đến nút Browse cả, nó là: LẤY DỮ LIỆU TỪ FILE ĐANG ĐÓNG
Dạng bài này đã có đầy trên diễn đàn rồi ---> Tìm đi
 
Upvote 0
Cái này hay quá cảm ơn, nhưng quả thực chưa hiểu cách copy như thế nào hjc hjc
 
Lần chỉnh sửa cuối:
Upvote 0
Thì mở file đã chọn lên rồi copy
Ví dụ:
PHP:
Sub Test()
  On Error Resume Next
  With Application.FileDialog(1)
    .Filters.Clear
    .Filters.Add "Excel Files", "*.xls", 1
    .Show: .AllowMultiSelect = False
    Workbooks.Open .SelectedItems(1)
  End With
End Sub
Code này mở hộp FileDialog, cho bạn chọn 1 file xls và mở file ấy lên ---> Mở xong rồi, muốn làm gì tiếp là việc của bạn
Thưa Thầy, cho em hỏi trong trường hợp cần thêm báo lỗi khi chọn "Cacel" của FileDialog thì phải làm thế nào? Cám ơn Thầy!
 
Upvote 0
Thưa Thầy, cho em hỏi trong trường hợp cần thêm báo lỗi khi chọn "Cacel" của FileDialog thì phải làm thế nào? Cám ơn Thầy!
Chỉnh lại như sau:

Mã:
Sub test()
    Dim wb As Workbook
    With Application.FileDialog(1)
        .Filters.Add "Excel Files", "*.xls"
        .AllowMultiSelect = False
        If .Show Then
          Set wb = Workbooks.Open(.SelectedItems(1))
        Else
          MsgBox "Ban da khong chon file nao "
        End If
    End With

End Sub
 
Upvote 0
Web KT
Back
Top Bottom