Tạo form browse 1 file excel lấy dữ liệu sử dụng (1 người xem)

  • Thread starter Thread starter xukj
  • Ngày gửi Ngày gửi

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

xukj

Thành viên mới
Tham gia
31/8/11
Bài viết
24
Được thích
0
Mọi người ơi. Giúp mình vấn đề này với.
Mình cần tạo form trên file excel A tìm 1 file excel B trong máy tính rồi sử dụng dữ liệu của file B để tính toán thì viết code VBA làm sao vậy.
Lâu rồi không làm lại nên giờ không biết làm thế nào....khó wa ~~
**~** **~** **~** **~** **~**
Giả sử file mình cần tìm là data và cần import dữ liệu vào file xukj lấy dữ liệu tìm tổng các cột theo hàng. Với mỗi hàng a(b,c) t lấy giá trị tuong ứng của nó bên file data rồi lấy sum(sum3 là tính tổng 3 cột đầu tương ứng với hàng a.).
Ai giúp mình với.....Nhờ mọi người nếu có thể thì giúp mình luôn cái code từ a->z(cần gấp lắm) không thì chỉ mình làm từ từ cũng dc..~~-+*/ -+*/ -+*/
 

File đính kèm

Mọi người ơi....Giúp với. Làm sao import dữ liệu từ 1 file mà mình browse vào sheets trong file mình chạy hàm vậy???
Mình thử nhiều cách mà câu lệnh lỗi hết...help....-+*/-+*/-+*/-+*/-+*/-+*/
 
Upvote 0
Cai nay up tu sang ma chua kip kiem tra lai,em co tao lai file xlsm roi. Thay huong cho em dong code de cop du lieu tu file data vao sheets 2 cua file xukj(duoi xlsm). Chut e chinh lai 2 file ~~+-+-+-+ +-+-+-+ +-+-+-+ +-+-+-+ +-+-+-+, gio em khong co may tinh de sua lai file.
 
Upvote 0
Dù "lâu rồi không làm" thì chắc cũng phải nhớ được nguyên tắc: File XLSX không bao giờ có thể chứa được code VBA chứ bạn nhỉ?
Help....sau một hồi mầm mò em làm tới được bước này. Mà sao vẫn không thấy cop được dữ liệu từ file data sang file xukj. Mà thêm vấn đề nữa là mấy cái sheets của file xukj ẩn đâu mất tiêu ròi...-\\/.-\\/.- em không tìm thấy luôn. Thầy chỉnh sửa code giùm em với nha.
Tạm thời code của em giờ là cop bằng tay, chưa làm tổng quát được.Mong thầy giúp em luôn vấn đề này nữa.
Em cảm ơn.
 

File đính kèm

Upvote 0
Help....sau một hồi mầm mò em làm tới được bước này. Mà sao vẫn không thấy cop được dữ liệu từ file data sang file xukj. Mà thêm vấn đề nữa là mấy cái sheets của file xukj ẩn đâu mất tiêu ròi...-\\/.-\\/.- em không tìm thấy luôn. Thầy chỉnh sửa code giùm em với nha.
Tạm thời code của em giờ là cop bằng tay, chưa làm tổng quát được.Mong thầy giúp em luôn vấn đề này nữa.
Em cảm ơn.

Code cho nút "Get du lieu" chỉ cần vầy là được rồi:
Mã:
Private Sub cmdlaydulieu_Click()
    Dim dulieu As Workbook, coppy As Workbook
    Set dulieu = Workbooks.Open(ThisWorkbook.Path & "\data.xlsx")
    [COLOR=#ff0000]Set coppy = ThisWorkbook
    coppy.Worksheets("xuli").Range("A2:E4").Value = dulieu.Worksheets("data").Range("A2:E4").Value
    dulieu.Close False[/COLOR]
End Sub
Những chỗ màu đỏ là chỗ tôi sửa lại
 
Upvote 0
Code cho nút "Get du lieu" chỉ cần vầy là được rồi:
Mã:
Private Sub cmdlaydulieu_Click()
    Dim dulieu As Workbook, coppy As Workbook
    Set dulieu = Workbooks.Open(ThisWorkbook.Path & "\data.xlsx")
    [COLOR=#ff0000]Set coppy = ThisWorkbook
    coppy.Worksheets("xuli").Range("A2:E4").Value = dulieu.Worksheets("data").Range("A2:E4").Value
    dulieu.Close False[/COLOR]
End Sub
Những chỗ màu đỏ là chỗ tôi sửa lại
Dạ em cảm ơn thầy. Mà giờ lại có thêm yêu cầu là mình sẽ tạo ra 1 file excel mới cùng với foder đó luôn. với tên là tên của file mình lấy dữ liệu + ngày tháng hiện tại(VD: data_06112014). Vậy phải viết câu lệnh làm sao hả thầy. Em thử nhiều câu lệnh lắm rồi mà vẫn không được
 
Upvote 0
Dạ em cảm ơn thầy. Mà giờ lại có thêm yêu cầu là mình sẽ tạo ra 1 file excel mới cùng với foder đó luôn. với tên là tên của file mình lấy dữ liệu + ngày tháng hiện tại(VD: data_06112014). Vậy phải viết câu lệnh làm sao hả thầy. Em thử nhiều câu lệnh lắm rồi mà vẫn không được

Thử nghiệm bằng cách Record macro quá trình Save As file ---> Sẽ có ngay code
 
Upvote 0
Thử nghiệm bằng cách Record macro quá trình Save As file ---> Sẽ có ngay code
Em đã thử mà vẫn không được. Nó không lưu file trong folder chứa 2 file của mình mà lưu trong Libraries/Documents.......
Làm sao để nó lưu file trong folder chứa file đang chạy. Mà em cũng không đặt tên cho nó được:
Sub Macro3()
Dim wb As Workbook, name As String
name = "file tao"
Set wb = Workbooks.Add
wb.name = name
wb.Save
End Sub
 
Upvote 0
Em đã thử mà vẫn không được. Nó không lưu file trong folder chứa 2 file của mình mà lưu trong Libraries/Documents.......
Làm sao để nó lưu file trong folder chứa file đang chạy. Mà em cũng không đặt tên cho nó được:
Sub Macro3()
Dim wb As Workbook, name As String
name = "file tao"
Set wb = Workbooks.Add
wb.name = name
wb.Save
End Sub

PHP:
Sub SaveAs()
Dim TenFile$, NgayLuuFile$
TenFile = "ABC"
NgayLuuFile = Format(Date, "ddmmyy")
With Workbooks.Add
   .SaveAs ThisWorkbook.Path & "\" & TenFile & NgayLuuFile, 51
   .Close
End With
End Sub
 
Upvote 0
PHP:
Sub SaveAs()
Dim TenFile$, NgayLuuFile$
TenFile = "ABC"
NgayLuuFile = Format(Date, "ddmmyy")
With Workbooks.Add
   .SaveAs ThisWorkbook.Path & "\" & TenFile & NgayLuuFile, 51
   .Close
End With
End Sub
Tks...Đã xong. Còn vấn đề nữa Hải ơi.. Coi thử đoạn code này nha
Mã:
    Dim openfile
    Dim x As Integer
    Dim ver As String, name As String
    Dim sh As Workbook
    ver = "xlsx"
    Set sh = ThisWorkbook
    On Error GoTo errhandler
    Application.ScreenUpdating = False
    
    openfile = Application.GetOpenFilename _
    (filefilter:="microsoft excel files (*." & ver & "), *." & ver, _
    MultiSelect:=False, Title:="Open Files")
    
    If TypeName(openfile) = "Boolean" Then
        MsgBox " Chon 1 file"
        GoTo exithandler
    End If
    Workbooks.Open Filename:=openfile
        Sheets("Total").[A1].Copy sh.Sheets("main").[D1]
        Set sh.Sheets("main").Range("D2").Value = openfile.name
exithandler:
    Application.ScreenUpdating = True
    Exit Sub
errhandler:
    MsgBox Err.Description
    Resume exithandler
End Sub
Mình muốn lấy ra cái tên của file mới mở mà câu lệnh sai ngay chỗ openfile.name ( Nó yêu cầu về Object-Đối tượng). Thử nhiều cách mà vẫn không lấy dc cái tên file mình mới mở ra. Giúp với
 
Upvote 0
Tks...Đã xong. Còn vấn đề nữa Hải ơi.. Coi thử đoạn code này nha
Mã:
    Dim openfile
    Dim x As Integer
    Dim ver As String, name As String
    Dim sh As Workbook
    ver = "xlsx"
    Set sh = ThisWorkbook
    On Error GoTo errhandler
    Application.ScreenUpdating = False
    
    openfile = Application.GetOpenFilename _
    (filefilter:="microsoft excel files (*." & ver & "), *." & ver, _
    MultiSelect:=False, Title:="Open Files")
    
    If TypeName(openfile) = "Boolean" Then
        MsgBox " Chon 1 file"
        GoTo exithandler
    End If
    Workbooks.Open Filename:=openfile
        Sheets("Total").[A1].Copy sh.Sheets("main").[D1]
        Set sh.Sheets("main").Range("D2").Value = openfile.name
exithandler:
    Application.ScreenUpdating = True
    Exit Sub
errhandler:
    MsgBox Err.Description
    Resume exithandler
End Sub
Mình muốn lấy ra cái tên của file mới mở mà câu lệnh sai ngay chỗ openfile.name ( Nó yêu cầu về Object-Đối tượng). Thử nhiều cách mà vẫn không lấy dc cái tên file mình mới mở ra. Giúp với

PHP:
      With Workbooks.Open(Filename:=openfile)
         MsgBox .name
        'Chỗ này muốn làm gì đó thì làm tiếp nha
      End With
 
Upvote 0

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

Back
Top Bottom