[Giúp đỡ] Lấy dữ liệu một loại file đang đóng từ phiếu xuất kho (1 người xem)

  • Thread starter Thread starter quyenpv
  • Ngày gửi Ngày gửi
Liên hệ QC

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

quyenpv

Thu nhặt kiến thức
Tham gia
5/1/13
Bài viết
727
Được thích
97
Giới tính
Nam
Nghề nghiệp
Decode cuộc đời!
Yêu cầu: Browse vào thư mục chứa các phiếu sau khi xuất từ hệ thống xuống cần lấy các thông tin vào file Temp
- Số phiếu: Vào cột N
- Ngày xuất: Vào cột M

Lần lượt lấy hết các vật tư trong phiếu xuất vào bảng. Hết phiếu này kế tiếp phiếu khác
- Mã hàng hóa: Vào cột B
- Tên vật tư: Vào cột C
- Đơn vị vào cột C
-
-
- Số phiếu: Vào cột J

Cám ơn các anh/chị. Mong các anh giúp đỡ
 

File đính kèm

Máy em mở bình thường anh. Chắc do em bỏ chế độ protect view trong Office, nhờ anh xử giúp em với a
 
Upvote 0
Mấy ngày đi làm ít vào thấy câu hỏi của mình được anh hpkhuong giúp đỡ vui rất nhiều. Code của anh đã giải quyết được vấn đề em đưa ra, Nhân đây nhờ anh giúp đỡ thêm cho em với anh (Do tối ưu lại file mà không biết sửa code):
1. Để nguyên định dạng mã hàng hóa là dạng Text
2. Đưa thông tin phiếu xuất từ Cột N của Sheet Temp sang cột D của Sheet Input
Cám ơn rất nhiều
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Nhờ anh hpkhuong và các anh chị giúp đỡ với ạ. Cám ơn anh/chị
 
Upvote 0
Bạn có quyền chọn Format của cột B Sheet Temp là TEXT trước khi chạy code cơ mà

Dạ anh khi chạy Code nó xóa hết định dạng text của cột Mã vật tư anh ạ
VD:
060638 ---> 60638
002985----> 2985
 
Upvote 0
Dạ Ok anh hpkhuong. Sau khi để định dạng text thì ok rồi anh nhé. Thanks a
 
Upvote 0
Chạy code, Select file cần tổng hợp.

Mã:
Public Sub GPE()
Dim Item, sArr, Ws As Worksheet, Sp As String, Ng As Date, N As Long
Dim dArr(1 To 50000, 1 To 11), tArr(1 To 1000, 1 To 2), K As Long, I As Long, J As Long
Application.ScreenUpdating = False
With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = True
    .Filters.Add "Microsoft Excel Files", "*.xls*", 1
    If Not .Show = -1 Then
        MsgBox "Ban chua chon File", vbInformation, "----GPE----"
        Exit Sub
    End If
'On Error Resume Next
For Each Item In .SelectedItems
    If Left(Item, 1) <> "~" Then
    N = N + 1
    Application.DisplayAlerts = False
    With Workbooks.Open(Item)
    Set Ws = .Sheets(1)
    sArr = Ws.Range("A22").CurrentRegion.Value
    Sp = Mid(Ws.Range("C7"), 5, 100)
    Ng = VBA.DateSerial(Mid(Ws.[C9], 26, 4), Mid(Ws.[C9], 19, 2), Mid(Ws.[C9], 10, 2))
    tArr(N, 1) = Sp: tArr(N, 2) = Ng
    For I = 3 To UBound(sArr)
        If sArr(I, 1) <> Empty Then
            K = K + 1
            dArr(K, 1) = K: dArr(K, 2) = sArr(I, 3): dArr(K, 3) = sArr(I, 2)
            For J = 4 To UBound(sArr, 2)
                dArr(K, J) = sArr(I, J)
            Next J
            dArr(K, 10) = Sp
            dArr(K, 11) = Mid(Sp, 4, 3)
        End If
    Next I
    .Close False
    End With
    Application.DisplayAlerts = True
    End If
Next Item
    If K Then Range("A5").Resize(K, 11) = dArr: Range("N2").Resize(N, 2).Value = tArr
End With
MsgBox "Da Tong Hop Xong!", , "------GPE------"
Application.ScreenUpdating = True
End Sub

Em nhờ anh hpkhuong sửa giúp em lấy thêm thông tin kho xuất với ạ. Cột cần lấy thông tin là C17 trong phiếu xuất lấy thông tin trong (VTM03-A) đưa vào cột K
Cám ơn anh nhiều
 
Upvote 0

File đính kèm

Upvote 0
Tìm dòng này
Mã:
dArr(K, 10) = Sp
Thêm vào đoạn code phí sau:
Mã:
dArr(K, 10) = Sp
dArr(K, 11) = Left(Mid(Ws.[C17], InStr(1, Ws.[C17], "(") + 1, 20), _
            InStr(1, Mid(Ws.[C17], InStr(1, Ws.[C17], "(") + 1, 20), ")") - 1)

Dear anh hpkhuong
Hiện nay kho bên em phát sinh thêm mã dự án của từng kho. Code trước của anh không lấy được
Anh sửa giúp em với nhé. Em đính kèm 2 phiếu xuất kho đặc trưng
 

File đính kèm

Upvote 0
Hix, các cao nhân giúp em vấn đề này với ạ
 
Upvote 0
Dear anh hpkhuong
Hiện nay kho bên em phát sinh thêm mã dự án của từng kho. Code trước của anh không lấy được
Anh sửa giúp em với nhé. Em đính kèm 2 phiếu xuất kho đặc trưng
Góp ý cho em:
1/ Phiếu xuất và phiếu nhập nên thiết kế sẳn trong File, khi in phiếu xong thì lưu vào sheet theo dõi.
2/ Cần tổng hợp hay truy vấn phiếu để in lại thì dựa vào sheet theo dõi.
3/ Không nên lưu mỗi phiếu làm gì cho tốn dung lượng ổ dĩa. Nếu cần phiếu nào đó gửi cho ai thì mới xuất phiếu đó ra thành File như em đã làm.
 
Upvote 0
Góp ý cho em:
1/ Phiếu xuất và phiếu nhập nên thiết kế sẳn trong File, khi in phiếu xong thì lưu vào sheet theo dõi.
2/ Cần tổng hợp hay truy vấn phiếu để in lại thì dựa vào sheet theo dõi.
3/ Không nên lưu mỗi phiếu làm gì cho tốn dung lượng ổ dĩa. Nếu cần phiếu nào đó gửi cho ai thì mới xuất phiếu đó ra thành File như em đã làm.
Tất cả các phiếu xuất kho đó xuất từ phần mềm ra anh.
 
Upvote 0
Upvote 0
Web KT

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

Back
Top Bottom