NHỜ GIÚP ĐỠ - FILE NHẬP LIỆU VBA

Liên hệ QC

Covid-19

Thành viên mới
Tham gia
23/10/21
Bài viết
5
Được thích
0
Gửi các bạn diễn đàn,

Mình đang tự học VBA nên nhờ các bạn chỉ giúp file NHẬP LIỆU (SAN LUONG DOANH THU) lĩnh vực Logistic với
Vấn đề:
  • Combobox (mã khách hàng, Chặng bay, Chuyến bay, loại hàng…) không lấy hết danh sách dữ liệu hiện có trong sheet1 (Info) hoặc phòng khi thêm dữ liệu tiếp theo.
  • Khi nhập liệu phần số thập phân (số ký, số kiện….) nó không trả ra kết quả giá trị number – trong danh sách lưu (sheet2 – Tong Hop) nên không thực hiện được công thức tính toán được.
  • Code này chạy có ổn định không? Hoặc có bảng code nào ngắn mà hiệu quả hơn không ạ?
Rất mong nhờ các bạn trong diễn đàn giúp đỡ sửa lỗi giúp ạ. Chân thành cảm ơn nhiều!
Hy vọng sớm nhận được phản hồi từ các bạn!
 

File đính kèm

  • SAN LUONG DOANH THU 2021.xlsm
    43.5 KB · Đọc: 28
Mình là thành viên mới nên không biết đến quy định đặt tên này, liệu để được hỗ trợ trong diễn đàn này cần thiết phải đặt tên khác không bạn? Rất mong nhờ bạn hướng dẫn giúp để mình có cơ hội để học hỏi kiến thức của mọi người.

Cảm ơn bạn! Chúc bạn may mắn!
Thấy cách diễn đạt của bạn khá là rõ ràng, mình chỉ góp ý lần sau không nên viết hoa toàn bộ tiêu đề như vậy.
Về câu hỏi của bạn, mình thấy dài là mình lười xem rồi. Nhưng giaỉ thích cho bạn vì sao chỗ mã KH bị thiếu:
1635409673595.png
Trong code này, không rõ ý đồ lastrow của bạn là gì mà có tới 4 dòng. Câu lệnh sẽ duyệt từ trên xuống, do vậy lastrow sẽ bằng dòng cuối cùng tức là dòng cuối của cột E. Mà cột E dòng cuối là 4 cho nên Mã KH cũng chỉ có 3 mã mà thôi.
Theo mình, bài này khi khởi tạo userform, xác định lastrow theo một cột mã khách hàng (C), sau đó đưa dữ liệu vào một array. Vòng lặp duyệt từ đầu tới ubound của array sau đó ghi những giá trị cần thiết!
Còn những ý còn lại nhờ người khác xem tiếp nhé
 
Upvote 0
Mình nói vậy thôi chứ không có ý gì về việc ai đặt tên thế nào, mình chỉ thấy buồn khi nhắc đến điều gì mà gợi nhó đến những cảnh không vui khi đại dịch mang tên đó ập đến mà thôi.
Mình và tất cả mọi người ai cũng đồng cảm với bạn về vấn đề chung đó là đại dịch, dịch mang đến bao điều đau xót, mất mác to lớn của cả nhân loại chứ không riêng một ai?. Tuy vậy, tên gọi không có nghĩa là chúng ta có lãng tránh, kỳ thị... mà nó như cột mốc để cùng chung tay đẩy lùi nó, đánh bại nó hơn là nổi sợ hãi.

Tóm lại, vấn đề mình nêu cần giúp đỡ bạn có giúp được mình không?
Bài đã được tự động gộp:

Thấy cách diễn đạt của bạn khá là rõ ràng, mình chỉ góp ý lần sau không nên viết hoa toàn bộ tiêu đề như vậy.
Về câu hỏi của bạn, mình thấy dài là mình lười xem rồi. Nhưng giaỉ thích cho bạn vì sao chỗ mã KH bị thiếu:
View attachment 268419
Trong code này, không rõ ý đồ lastrow của bạn là gì mà có tới 4 dòng. Câu lệnh sẽ duyệt từ trên xuống, do vậy lastrow sẽ bằng dòng cuối cùng tức là dòng cuối của cột E. Mà cột E dòng cuối là 4 cho nên Mã KH cũng chỉ có 3 mã mà thôi.
Theo mình, bài này khi khởi tạo userform, xác định lastrow theo một cột mã khách hàng (C), sau đó đưa dữ liệu vào một array. Vòng lặp duyệt từ đầu tới ubound của array sau đó ghi những giá trị cần thiết!
Còn những ý còn lại nhờ người khác xem tiếp nhé
Cảm ơn bạn nhiều!
 
Upvote 0
Mình và tất cả mọi người ai cũng đồng cảm với bạn về vấn đề chung đó là đại dịch, dịch mang đến bao điều đau xót, mất mác to lớn của cả nhân loại chứ không riêng một ai?. Tuy vậy, tên gọi không có nghĩa là chúng ta có lãng tránh, kỳ thị... mà nó như cột mốc để cùng chung tay đẩy lùi nó, đánh bại nó hơn là nổi sợ hãi.
Tóm lại, vấn đề mình nêu cần giúp đỡ bạn có giúp được mình không?
Có bạn trên đang giúp bạn rồi đó, nếu vì lý do nào bạn đó bận không tiếp tục được thì mình sẽ giúp bạn.
 
Upvote 0
Câu (2) chắc vầy:
PHP:
GPE:
    Dim lastrow As Long
    lastrow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row + 1
   
        With Sheet2
            .Range("A" & lastrow).Value = Format(Me!txtNgaythang.Value, "MM/DD/yy")
            .Range("C" & lastrow).Value = txtAWB
            .Range("D" & lastrow).Value = CmbChuyenbay
            .Range("E" & lastrow).Value = CmbChangbay
            .Range("F" & lastrow).Value = CmbMaKH
            .Range("G" & lastrow).Value = txtTenKH.Text
            .Range("I" & lastrow).Value = CmbLoaihang
            .Range("J" & lastrow).Value = txtSokien
            .Range("K" & lastrow).Value = Me!txtBLGN.Value
            .Range("L" & lastrow).Value = Me!txtThuc.Value
            .Range("M" & lastrow).Value = Me!txtBill.Value
            .Range("N" & lastrow).Value = Me!txtVNA.Value
            .Range("O" & lastrow).Value = Me!txtVJ.Value
            .Range("P" & lastrow).Value = Me!txtQH.Value
            .Range("Q" & lastrow).Value = txtDLIKhac
            ' . . . . . . . .   '       
       End With
 
Lần chỉnh sửa cuối:
Upvote 0
Phải công nhận bạn siêng thật.
Kiểu này tôi phải kiếm một cái tên mới. Lúc nào lười viết code thì lên đây xin, khoẻ ru. :p
Hổng biết gởi file lên, nhờ nhét code vào và chạy giùm luôn được hôn ta?
 
Upvote 0
Chả là không việc gì giải trí thôi!
 

File đính kèm

  • 1020.jpg
    1020.jpg
    90.2 KB · Đọc: 6
Upvote 0
  • Khi nhập liệu phần số thập phân (số ký, số kiện….) nó không trả ra kết quả giá trị number – trong danh sách lưu (sheet2 – Tong Hop) nên không thực hiện được công thức tính toán được.
Muốn ra trị number thì thêm dùng hàm Val(texbox)
 
Upvote 0
Câu (2) chắc vầy:
PHP:
GPE:
    Dim lastrow As Long
    lastrow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row + 1
  
        With Sheet2
            .Range("A" & lastrow).Value = Format(Me!txtNgaythang.Value, "MM/DD/yy")
            .Range("C" & lastrow).Value = txtAWB
            .Range("D" & lastrow).Value = CmbChuyenbay
            .Range("E" & lastrow).Value = CmbChangbay
            .Range("F" & lastrow).Value = CmbMaKH
            .Range("G" & lastrow).Value = txtTenKH.Text
            .Range("I" & lastrow).Value = CmbLoaihang
            .Range("J" & lastrow).Value = txtSokien
            .Range("K" & lastrow).Value = Me!txtBLGN.Value
            .Range("L" & lastrow).Value = Me!txtThuc.Value
            .Range("M" & lastrow).Value = Me!txtBill.Value
            .Range("N" & lastrow).Value = Me!txtVNA.Value
            .Range("O" & lastrow).Value = Me!txtVJ.Value
            .Range("P" & lastrow).Value = Me!txtQH.Value
            .Range("Q" & lastrow).Value = txtDLIKhac
            ' . . . . . . . .   '      
       End With
Cảm ơn bạn nhiều!
Bài đã được tự động gộp:

Muốn ra trị number thì thêm dùng hàm Val(texbox)
Cảm ơn bạn nhiều!
 
Upvote 0
Web KT

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

Back
Top Bottom