Nhập dữ liệu từ Form vào file Data

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Nhờ mọi người giúp.
Tôi đã làm được cái Form nhập dữ liệu trong file Form:
– Nhập dữ liệu vào FormPX -> Save dữ liệu vào PX.
Giờ tôi muốn nâng cấp lên một tí: dữ liệu sẽ được lưu vào file khác.
file "Data" lưu trên máy chủ; file "Form" lưu trên máy khác.
– Nhập dữ liệu vào FormPX
– Nhấn nút "Save" dữ liệu vào PX
Mục đích: để cùng lúc nhập dữ liệu trên hai máy khác nhau.
Cảm ơn mọi người đã giúp đỡ.

Vấn đề này không phải không làm được…Nhưng tại sao không ai giúp…Vì dấn thân vào giúp bạn rồi…thì khổ lắm
—————————
Cho nên: Bạn cần 1 lời khuyên…Tại sao không lắng nghe lời khuyên ấy…

Lời khuyên: Tại # cuối cùng trong topic này của bạn, bạn chưa lưu tâm: [URL='https://www.giaiphapexcel.com/forum/showthread.php?112401-S%E1%BB%ADa-gi%C3%B9m-code-t%E1%BA%A1o-Form-nh%E1%BA%ADp-li%E1%BB%87u/page2']https://www.giaiphapexcel.com/forum/showthread.php?112401-Sửa-giùm-code-tạo-Form-nhập-liệu/page2

Xem xong, bạn cần lưu tâm + phản hồi thì sẽ có người tiếp. Bằng không thì…tự chơi 1 mình nhé!

À. Minh nhớ ra rồi. Phương án đó không thực hiện được, vì liên quan đến Form nhập dữ liệu.
Ví dụ:
Khi A nhập dữ liệu trên máy mình (file Form) thì lưu ngay lập tức vào file Data
Khi B nhập dữ liệu trên máy mình (file Form) thì lưu vào dòng kế tiếp tại file Data.
Cảm ơn bạn đã nhắc nhở & quan tâm.

—————————Người ta nói: Không gì là không thể —————————Nên: Đừng vội phán là phương án đó không thực hiện được…

—————
Người ta đã đưa ra hướng tư vấn cho bạn, cho thấy rằng người ta đã có kinh nghiệm trong việc này…Cho nên là chắc chắn sẽ được.

Quay trở lại vấn đề của bạn:

1. Nếu bạn muốn nhập liệu trực tiếp update thì chỉ có phần mềm mới đáp ứng được cho bạn vấn đề này… Còn về Excel thì có cái Atool gì đó (phải mất phí)…hỗ trợ bạn vấn đề này => Làm đơn giản mà được việc -> không tốn phí/ Với việc làm đúng theo í bạn thì phải tốn phí…. Vậy bạn thích cái nào

2. Tại sao phải dùng form là không khả thi, Form ở đây bạn đừng hiểu cao siêu gì cả. Form ở đây là 1 cái file Excel làm mẫu nhập liệu, bạn thiết kế sẵn…bạn copy cho 10 người (nhân viên) của bạn nhập liệu…Tất nhiên Form phải chuẩn, mọi người đều nhập giống nhau trên form này… Nhập xong có thể gửi mail cho bạn file này…(bạn là người sẽ tổng hợp vào file tổng với vài dòng code – GPE sẽ hỗ trợ bạn code này)…

Nếu công ty bạn có xài Server thì có thể làm xong nhân viên của bạn copy quăng lên server… Hoặc bạn có thể tạo ra 10 Cái file trên server và share Full file này cho từng nhân viên của bạn đẻ Open trực tiếp file này và nhâp liệu….trên đó

P/s: Lưu ý là Form nhập liệu này cũng có 1 sheet là Phiếu xuất. 1 sheet là Data, khi người dùng nhập vào sheet Phiếu xuất gì đó -> In / Và vài dòng code VBA sẽ lưu nội dung đã in này sang sheet Data

2. Vấn đề của bạn là đã có tất cả 10 file của 10 người này rồi…Căn cứ vào sheêt Data trên file này…Bạn tổng hợp vào 1 Sheet trên File tổng của bạn… => Vấn đề đã giải quyết xong…
Theo ý tôi đã nói ở trên. Bạn cho mỗi nhân viên 1 File Form nhập liệu. Sau đó gôm File lại, và bạn thực hiện tổng hợp lên File Tổng (Data) của bạn
———————————————————————————————————————————–
Cod như sau:
1. Code cho nút Save của File Form.xls (code thay cho cái Sub trong file của bạn.)

Public Sub NhapDuLieu()
Dim Arr, dArr, I As Long, J As Long, K As Long
Arr = Sheets("FormPX").Range("A6", Sheets("FormPX").Range("A9").End(4)).Resize(, 11).Value
ReDim dArr(1 To UBound(Arr), 1 To 12)
For I = 5 To UBound(Arr)
    If Arr(I, 1) <> Empty Then
        K = K + 1
        dArr(K, 1) = Arr(1, 8)
        dArr(K, 2) = Arr(I, 1)
        dArr(K, 3) = Arr(2, 8)
        For J = 2 To 8
            dArr(K, J + 2) = Arr(I, J)
        Next J
        dArr(K, 11) = Arr(2, 2)
        dArr(K, 12) = Arr(1, 2)
    End If
Next I
If K Then Sheets("PX").Range("A65000").End(3).Offset(1).Resize(K, 12).Value = dArr
End Sub

2. Code tổng hợp từ nhiều file cho File Data của bạn.

Đưa tất cả các file con (File Form cho từng người vào 1 thư mục, File Data cũng có thể đưa vào đây luôn, hoặc để ở đâu thì tùy.)

Chạy code -> Cửa sổ mở ra. Chọn cả Thư mục chứa file con trên -> Ok đợi kết quả sẽ update tất cả vào Sheet PX trên file Data này. (Chú ý là chọn Thư mục rồi nhấn OK , chứ không phải Open thư mục chứa file con ở cửa sổ chọn file nha.)

Public Sub THOP_ALL()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim ChonO As Object, ChonF As Object, pFile, Path
Dim fil As Object, Wb As Workbook, Sh As Worksheet, WbMain As Workbook
Dim Arr, dArr(1 To 65000, 1 To 12), I As Long, J As Long, K As Long
pFile = ActiveWorkbook.Name
Set WbMain = ActiveWorkbook
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "CHON FOLDER"
    .Show
    If .SelectedItems.Count = 0 Then Exit Sub
    Path = .SelectedItems(1) & ""
End With
Set ChonO = CreateObject("Scripting.FileSystemObject")
Set ChonF = ChonO.GetFolder(Path)
For Each fil In ChonF.Files
    If InStr(1, fil.Name, pFile) <= 0 Then
        Set Wb = Workbooks.Open(fil.Path)
        Set Sh = Wb.Sheets("PX")
            Arr = Sh.Range("A6", Sh.[A65000].End(3)).Resize(, 12).Value
            For I = 1 To UBound(Arr)
                K = K + 1
                For J = 1 To 12
                    dArr(K, J) = Arr(I, J)
                Next J
            Next I
        Workbooks(fil.Name).Close
    End If
Next fil
    WbMain.Sheets("PX").Range("A6").Resize(65000, 12).ClearContents
    WbMain.Sheets("PX").Range("A6").Resize(K, 12).Value = dArr
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

Hết rồi đó,!

Khoá học Trưởng phòng nhân sự
Khóa học SprinGO phù hợp

Khoá học Trưởng phòng nhân sự

Nguồn nhân lực là một trong Tứ trụ kinh doanh của doanh nghiệp, có tác động tới sự tồn tại và phát triển bền...

Xem khóa học
★★★★★ 5 ★ 1 👤 3 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm