nút lệnh tải file excel điền vào các cột

Liên hệ QC

netuser36

Thành viên chính thức
Tham gia
20/9/07
Bài viết
63
Được thích
2
Donate (Momo)
Donate
chào các bạn mình muốn làm 1 nút lệnh để tải file excel điền vào các cột trên file này. có 2 file excel. 1 file dữ liệu có sãn. 1 file có 1 nút lệnh lúc bấm vào thì brows đến file dữ liệu và tải lên điền vào các cột. nhưng chưa biết cách. thay vì copy dán nhưng dữ liệu hơn 1000 dòng bôi copy lâu. và làm sẵn cho nhiều người dùng.
xin cảm ơn.
 

File đính kèm

  • du lieu.xlsx
    9.8 KB · Đọc: 16
  • file chuong trinh.xlsx
    9.4 KB · Đọc: 17
chào các bạn mình muốn làm 1 nút lệnh để tải file excel điền vào các cột trên file này. có 2 file excel. 1 file dữ liệu có sãn. 1 file có 1 nút lệnh lúc bấm vào thì brows đến file dữ liệu và tải lên điền vào các cột. nhưng chưa biết cách. thay vì copy dán nhưng dữ liệu hơn 1000 dòng bôi copy lâu. và làm sẵn cho nhiều người dùng.
xin cảm ơn.

Bạn phải nói rõ là:
1/trong file dulieu có nhiều Woorkbook không? Worbook cần lấy dữ liệu ấy có nhiếu Sheet có cùng cấu trúc hay là chỉ có 1 sh và lấy dữ liệu của Sh nào?
2/ lấy dữ liệu của từng dòng trong sh cần lấy và điền vào các dòng liên tiếp của 1 sh trong workbook cần tổng hợp (trong File Chuongtrinh), hay là lấy từng sheet cần lấy điền vào từng sheet trong workbook cần tonghop?

Tốt nhất là bạn gửi 2 worbook có dữ liệu giả định nên và nói mong muốn thì tin chắc sẽ có người giúp bạn.
 
chào các bạn mình muốn làm 1 nút lệnh để tải file excel điền vào các cột trên file này. có 2 file excel. 1 file dữ liệu có sãn. 1 file có 1 nút lệnh lúc bấm vào thì brows đến file dữ liệu và tải lên điền vào các cột. nhưng chưa biết cách. thay vì copy dán nhưng dữ liệu hơn 1000 dòng bôi copy lâu. và làm sẵn cho nhiều người dùng.
xin cảm ơn.
File của bạn đây!
 

File đính kèm

  • file chuong trinh_netuser36.xlsm
    19 KB · Đọc: 30
chào các bạn mình muốn làm 1 nút lệnh để tải file excel điền vào các cột trên file này. có 2 file excel. 1 file dữ liệu có sãn. 1 file có 1 nút lệnh lúc bấm vào thì brows đến file dữ liệu và tải lên điền vào các cột. nhưng chưa biết cách. thay vì copy dán nhưng dữ liệu hơn 1000 dòng bôi copy lâu. và làm sẵn cho nhiều người dùng.
xin cảm ơn.
Góp thêm một cách cho bạn lựu chọn.
Yêu cầu các file đó có các worksheet có cấu trúc giống hệt nhau
Phần tiêu đề bắt đầu từ ô A6 (nếu không đúng phải sửa lại code)
Code sẽ copy tất cả các file được chọn và copy từng sheet trong từng file nếu thỏa mãn điều kiện là có dòng tiêu đề ở A6 của mỗi sheet.

Khi chạy code sẽ xuất hiện một fomr để ta tìm các file cần lấy dữ liệu Khí đó ta chỉ cần kích chọn 1 hoặc nhiều file sau đó click Open để code tiếp tục chạy.
 

File đính kèm

  • Screenshot (9).png
    Screenshot (9).png
    277.9 KB · Đọc: 13
  • TONGHOP NHIEU FILE VAO 1 WBOOK KHAC FILE.xlsm
    18.8 KB · Đọc: 16
chào các bạn mình muốn làm 1 nút lệnh để tải file excel điền vào các cột trên file này. có 2 file excel. 1 file dữ liệu có sãn. 1 file có 1 nút lệnh lúc bấm vào thì brows đến file dữ liệu và tải lên điền vào các cột. nhưng chưa biết cách. thay vì copy dán nhưng dữ liệu hơn 1000 dòng bôi copy lâu. và làm sẵn cho nhiều người dùng.
xin cảm ơn.
Nhờ họ làm xong 1 lần còn nhưng lần thứ n thì sao ??!!!
vào link sau tải cái SQL của Tôi về mà sử dụng ... nhớ đọc kỹ bài số 39 nhé


Hình ảnh sau cho bài số 1 của bạn nè ... mọi cái rất đơn giản chỉ tích chọn là xong thôi

Untitled222png.png
 

chào bạn. cho mình hỏi các sheet ten khong dấu và không có khoảng cách thì được nhưng tên sheet có dấu or không dấu có dấu cách không được. có thêm lệnh gì để tên sheet tiếng việt có dấu nhưng vận tải vào dược không ạ. xin cảm ơn.
 
Cách đơn giản nhất là đổi tên sheet. Làm 1 lần rồi sau đó truy cập mãi.
 
Tuy nhiên sau khi thử các trường hợp bạn nêu, tôi trả lời như sau:
1/ Với sheet nguồn không dấu có dấu cách thì vẫn truy vấn được bình thường.
2/ Với sheet nguồn có dấu tiếng Việt thì tôi gửi cho bạn 1 hàm để chuyển tên sheet đó sang dạng mã Unicode. Từ đó gán tên đã chuyển đó cho 1 biến String rồi thay cái biến đó cho tên sheet trong câu lệnh SQL
Rich (BB code):
Function VbaUni(Chuoi As String) As String
Dim n As Long, uni1 As String, uni2 As String

If Chuoi = "" Then
    VbaUni = """"""
Else
Chuoi = Chuoi & " "
If AscW(Left(Chuoi, 1)) < 256 Then VbaUni = """"
    For n = 1 To Len(Chuoi) - 1
        uni1 = Mid(Chuoi, n, 1)
        uni2 = AscW(Mid(Chuoi, n + 1, 1))
        If AscW(uni1) > 255 And uni2 > 255 Then
            VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & "
        ElseIf AscW(uni1) > 255 And uni2 < 256 Then
            VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & """
        ElseIf AscW(uni1) < 256 And uni2 > 255 Then
            VbaUni = VbaUni & uni1 & """ & "
        ElseIf AscW(uni1) = 227 Or AscW(uni1) = 253 Or AscW(uni1) = 242 Or AscW(uni1) = 236 Then
            VbaUni = VbaUni & """ & " & "ChrW(" & AscW(uni1) & ") & """
        Else
            VbaUni = VbaUni & uni1
        End If
    Next
    If Right(VbaUni, 4) = " & """ Then
        VbaUni = Mid(VbaUni, 1, Len(VbaUni) - 4)
    Else
        VbaUni = VbaUni & """"
    End If
End If
End Function
 
Tuy nhiên sau khi thử các trường hợp bạn nêu, tôi trả lời như sau:
1/ Với sheet nguồn không dấu có dấu cách thì vẫn truy vấn được bình thường.
2/ Với sheet nguồn có dấu tiếng Việt thì tôi gửi cho bạn 1 hàm để chuyển tên sheet đó sang dạng mã Unicode. Từ đó gán tên đã chuyển đó cho 1 biến String rồi thay cái biến đó cho tên sheet trong câu lệnh SQL
Rich (BB code):
Function VbaUni(Chuoi As String) As String
Dim n As Long, uni1 As String, uni2 As String

If Chuoi = "" Then
    VbaUni = """"""
Else
Chuoi = Chuoi & " "
If AscW(Left(Chuoi, 1)) < 256 Then VbaUni = """"
    For n = 1 To Len(Chuoi) - 1
        uni1 = Mid(Chuoi, n, 1)
        uni2 = AscW(Mid(Chuoi, n + 1, 1))
        If AscW(uni1) > 255 And uni2 > 255 Then
            VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & "
        ElseIf AscW(uni1) > 255 And uni2 < 256 Then
            VbaUni = VbaUni & "ChrW(" & AscW(uni1) & ") & """
        ElseIf AscW(uni1) < 256 And uni2 > 255 Then
            VbaUni = VbaUni & uni1 & """ & "
        ElseIf AscW(uni1) = 227 Or AscW(uni1) = 253 Or AscW(uni1) = 242 Or AscW(uni1) = 236 Then
            VbaUni = VbaUni & """ & " & "ChrW(" & AscW(uni1) & ") & """
        Else
            VbaUni = VbaUni & uni1
        End If
    Next
    If Right(VbaUni, 4) = " & """ Then
        VbaUni = Mid(VbaUni, 1, Len(VbaUni) - 4)
    Else
        VbaUni = VbaUni & """"
    End If
End If
End Function
tên sheet mình sửa chỉ thấy bên ngoài, nhưng bản chất trong vba vẫn là sheet1, sheet2,....
 

File đính kèm

  • ten.PNG
    ten.PNG
    23.8 KB · Đọc: 5
tên sheet mình sửa chỉ thấy bên ngoài, nhưng bản chất trong vba vẫn là sheet1, sheet2,....
Bạn nhầm. Đó là code name dùng trong VBA. Còn sheet name là cái trong ngoặc đơn. Có dấu hay không dấu, có dấu cách không chính là cái này và sẽ được nhìn thấy trên bảng tính.
 
Web KT
Back
Top Bottom