Dùng code để lấy dữ liệu từ form hóa đơn bán hàng kiêm phiếu xuất kho sang sheet khác (1 người xem)

Liên hệ QC

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

minhcong.tckt

Thành viên thường trực
Tham gia
13/4/11
Bài viết
385
Được thích
36
Giới tính
Nam
Em gửi file đính kèm, mong các huynh tỷ trong diễn đàn giúp đỡ
File em gồm có:
1/ Sheet " NhapLieu"
2/ Sheet " BangkeHD1"
3/ Sheet "kho"

Dữ liệu được nhập vào sheet "NhapLieu" : có màu đỏ, xanh
Khi nhấn nút Save thì dữ liệu tự động chuyển sang 2 sheet tương ứng (em đã giải thích tại file đính kèm)
xóa dữ liệu cũ đi, để nhập hóa đơn tiếp theo

vậy đoạn code cho nút Save như thế nào???
 

File đính kèm

Bác ơi, bên kho hàng thì được rồi
1/ Nhưng bên bảng kê hóa đơn, khi em nhập tiếp 1 hóa đơn thứ 2 thì dữ liệu bị chèn đè vào hàng 27, mà không xuống hàng tiếp theo

2/ Em muốn ô H28 bên "Nhập Liệu" không bị xóa vì đó là công thức tổng.
 
Upvote 0
Cảm ơn Bác nhiều nha, chúc bác sức khỏe và thành đạt
 
Upvote 0
Bác ơi, em thay đổi 1 chút mẫu biểu bên "kho" , em tự sửa code mà không như ý muốn, bác sửa lại code để lấy dữ liệu cho em với
Chú ý: thêm: người giao hàng được lấy từ C10 - sheet nhập liệu sang kho

Chân thành cảm ơn!!!

Cho em hỏi chút nữa là: nếu hóa đơn bán ra tầm >100/năm số thì cần sửa code như nào cho ổn hơn
Em thấy hình như chỉ viết được 3 số hóa đơn đúng ko ạh
 

File đính kèm

Upvote 0
Đã sửa code lại rồi theo yêu cầu.
Hiện tại có thể viết 4 số hóa đơn, muốn thêm thì tăng thêm chỗ này. Vì cấu trúc form của bạn mình không biết cách rút gọn code ngắn hơn được

PHP:
 If bk.[c27] = "" Then
    bk.[c27].Resize(1, 11) = Arr
ElseIf bk.[c28] = "" Then
    bk.[c28].Resize(1, 11) = Arr
ElseIf bk.[c29= ""] Then
    bk.[c29].Resize(1, 11) = Arr
ElseIf bk.[c30] = "" Then
    bk.[c30].Resize(1, 11) = Arr
End If
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bác ơi, code chưa ổn lắm.
Bác text lại một phiếu có: ngày khác, mã phiếu khác, tên người mua hàng khác (không phải là Nguyễn Văn A) thì thấy
Bên kho:
Cột ngày tháng, cột phiếu, người mua hàng, (B,D,E,F) bị thay đổi theo lần Save gần nhất
 
Upvote 0
Bạn sửa lại dòng này, mình sơ ý quá

With kho.Range(kho.[F65536].End(3).Offset(1, 3), kho.[i65536].End(3))
 
Upvote 0
Em đã kiểm tra lại, thấy ổn rồi đấy ạ
Cảm ơn bác nhiều
 
Upvote 0
Bạn thay đoạn này vào nếu có nhu cầu tăng số hàng trong sheet hoa don
Thay vì viết
PHP:
If bk.[c27] = "" Then
    bk.[c27].Resize(1, 11) = Arr
ElseIf bk.[c28] = "" Then
    bk.[c28].Resize(1, 11) = Arr
ElseIf bk.[c29= ""] Then
    bk.[c29].Resize(1, 11) = Arr
ElseIf bk.[c30] = "" Then
    bk.[c30].Resize(1, 11) = Arr
End If

Thì đổi lại thế này ( có thể thay số 30 thành số lớn hơn)

PHP:
For Rr = 27 To 30
    If bk.Cells(Rr, 3) = "" Then
        bk.Cells(Rr, 3).Resize(1, 11) = Arr
        Exit For
    End If
Next
 
Upvote 0
Web KT

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

Back
Top Bottom