Tạo form tự động nhập liệu và in hóa đơn (1 người xem)

Liên hệ QC

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

DIEMXUA1810

Thành viên mới
Tham gia
27/10/10
Bài viết
49
Được thích
9
Chào các anh/chị,
em đang quản lý cửa hàng nhỏ, hàng ngày phải viết tay hóa đơn bán lẻ mất nhiều thời gian.
nay em có file muốn nó tự động cập nhật số liệu hàng khi bán cho khách và tự động lọc theo số hóa đơn để in ạ.
file em có 2 sheet:
sheet 1: em muốn tạo 1 form khi em quét mã thì mã sẽ tự động nhập vào list.
sheet 2: khi em nhập số Hóa ĐƠn thì toàn bộ danh sách hàng theo hóa đơn đó sẽ thể hiện theo đúng số hóa đơn đó ạ.

Nhờ anh/chị giúp đỡ em vấn đề này ạ.
em cảm ơn
 

File đính kèm

Mình làm câu 2 bằng VBA nè, bạn thử xem:
 

File đính kèm

Mình làm câu 2 bằng VBA nè, bạn thử xem:
Hi anh ơi,
em đã tham khảo và làm được form nhập liệu của Sheet1 rồi, em nhờ các anh/chị giúp em 1 chút nữa là được:
- Textbox1: dữ liệu sẽ vẫn tồn tại sau khi cập nhật
- Textbox2: Dữ liệu sẽ tự động mất đi khi bấm Enter. (không cần sử dụng thêm thao tác kick Update, chỉ bấm Enter là dữ liệu được cập nhật vào list)
em có ghi chit tiết trong file.
nhờ anh chị sửa giúp em với ạ.
 

File đính kèm

Hi anh ơi,
em đã tham khảo và làm được form nhập liệu của Sheet1 rồi, em nhờ các anh/chị giúp em 1 chút nữa là được:
- Textbox1: dữ liệu sẽ vẫn tồn tại sau khi cập nhật
- Textbox2: Dữ liệu sẽ tự động mất đi khi bấm Enter. (không cần sử dụng thêm thao tác kick Update, chỉ bấm Enter là dữ liệu được cập nhật vào list)
em có ghi chit tiết trong file.
nhờ anh chị sửa giúp em với ạ.
Theo mình thì không nên bỏ nút lệnh 'Update'; Nếu là mình thì trong nút này thêm câu lệnh để khẳng định người dùng cần thiết nhập nữa là đằng khác.
E rằng làm như bạn sẽ không kiểm soát được quá trình nhập & 1 lúc nào đó không biết mình đã nhập hay chưa dòng dữ liệu.
 
Theo mình thì không nên bỏ nút lệnh 'Update'; Nếu là mình thì trong nút này thêm câu lệnh để khẳng định người dùng cần thiết nhập nữa là đằng khác.
E rằng làm như bạn sẽ không kiểm soát được quá trình nhập & 1 lúc nào đó không biết mình đã nhập hay chưa dòng dữ liệu.
ý em là em muốn sử dụng phím Enter để update. Nhưng sau khi Enter xong thì số liệu tại Texbox này sẽ biến mất và con trỏ chuột auto sẵn sàng tạo ô textbox này để tiếp tục.
nhờ anh hỗ trợ lệnh này giúp ạ
 
ý bạn là như thế này?
 

File đính kèm

File trên là xử lý nút enter còn
thì bạn bỏ dòng lệnh này đi là được mà
Mã:
Me.TextBox1.Value = ""
cho em hỏi: tại sheet InPhieu em có đặt hàm Vlookup tại cột D để dò tên hàng, nhưng khi chuyển sang in phiếu khác thì bị clear content hết.
nhờ anh/chị giữ công thức của mình tại cột này giúp emạ. cảmơn nhiềuạ
1604312287167.png
 

File đính kèm

À cái đó do mình quên, xin lỗi nha;
Giờ bạn tìm đến macro sự kiện đó & thêm dòng lệnh có mang số (9) như dưới đây:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [G2]) Is Nothing Then
    Dim Sh As Worksheet, Rng As Range, sRng As Range, WF As Object
    ReDim Arr(1 To 35, 1 To 6)
    Dim MyAdd As String
    Dim Rws As Long, W As Integer
    
    Set Sh = ThisWorkbook.Worksheets("DMuc")
    Set WF = Application.WorksheetFunction
    [B7:F36].ClearContents
    With Sheets("NhapLieu")
        Rws = .[B11].CurrentRegion.Rows.Count
        Set Rng = .[c10].Resize(Rws)
        Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole)
        If Not sRng Is Nothing Then
            MyAdd = sRng.Address
            Do
                W = W + 1
                Arr(W, 1) = sRng.Offset(, 1).Value
9                Arr(W, 2) = WF.VLookup(Arr(W, 1), Sh.[B3:D17], 2, False)
                Arr(W, 3) = sRng.Offset(, 2).Value
                Arr(W, 4) = sRng.Offset(, 3).Value
                Arr(W, 6) = Arr(W, 4) * Arr(W, 5)
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
        End If
    End With
    Rows("7:36").Hidden = False
    If W Then
        [C7].Resize(W, 4).Value = Arr()
        Rws = [C36].End(xlUp).Row + 1
        Rows(Rws & ":35").Hidden = True
    End If
 End If
End Sub
 
À cái đó do mình quên, xin lỗi nha;
Giờ bạn tìm đến macro sự kiện đó & thêm dòng lệnh có mang số (9) như dưới đây:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [G2]) Is Nothing Then
    Dim Sh As Worksheet, Rng As Range, sRng As Range, WF As Object
    ReDim Arr(1 To 35, 1 To 6)
    Dim MyAdd As String
    Dim Rws As Long, W As Integer
   
    Set Sh = ThisWorkbook.Worksheets("DMuc")
    Set WF = Application.WorksheetFunction
    [B7:F36].ClearContents
    With Sheets("NhapLieu")
        Rws = .[B11].CurrentRegion.Rows.Count
        Set Rng = .[c10].Resize(Rws)
        Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole)
        If Not sRng Is Nothing Then
            MyAdd = sRng.Address
            Do
                W = W + 1
                Arr(W, 1) = sRng.Offset(, 1).Value
9                Arr(W, 2) = WF.VLookup(Arr(W, 1), Sh.[B3:D17], 2, False)
                Arr(W, 3) = sRng.Offset(, 2).Value
                Arr(W, 4) = sRng.Offset(, 3).Value
                Arr(W, 6) = Arr(W, 4) * Arr(W, 5)
                Set sRng = Rng.FindNext(sRng)
            Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
        End If
    End With
    Rows("7:36").Hidden = False
    If W Then
        [C7].Resize(W, 4).Value = Arr()
        Rws = [C36].End(xlUp).Row + 1
        Rows(Rws & ":35").Hidden = True
    End If
End If
End Sub
Em đã thêm đoạn code đó vào, nhưng có 1 điều là:
nếu mã hàng không nằm trong danh sách dò tìm hoặc sai mã hàng trong bảng mã hàng thì báo lỗi. có cách nào khắc phục không anh?
 
Danh sách mã hàng đó là duy nhất của cột mã hàng & là danh sách Validation để chọn 1 mã hàng (nhất thiết phải có)
Vấn đề còn lại sẽ phải là: Khi mở trang tính InPhieu, ta sẽ có ngay danh sách mã hàng duy nhất này để chọn 1 trong chúng.
 
Danh sách mã hàng đó là duy nhất của cột mã hàng & là danh sách Validation để chọn 1 mã hàng (nhất thiết phải có)
Vấn đề còn lại sẽ phải là: Khi mở trang tính InPhieu, ta sẽ có ngay danh sách mã hàng duy nhất này để chọn 1 trong chúng.
anh có thể đặt điều kiện giúp em trong trường hợp chưa kịp cập nhật mã hàng mới thì cell đó vẫn báo lỗi N/A mà không bị báo lỗi code được không anh?
 
Thể theo nguyện vọng của bạn và lấy file trên tôi thêm cho bạn một số phần như sau :
1. Tôi đã thêm phần tự động lọc duy nhất của số hóa đơn,nghĩa là sheets 【NhapLieu】 có những số hóa đơn nào thì bên sheet 【DMuc】sẽ tự động thêm và sửa name thành danh sách mới
2. Phần chọn trong sheets 【InPhieu】 nếu để trống hoặc là số hóa đơn không tìm ra thông tin sẽ không báo lỗi code nữa thì đã sửa.còn lại vẫn giữ nguyên file gốc
Bạn tham khảo!
 

File đính kèm

Web KT

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

Back
Top Bottom