Bạn bổ sung thêm 2 dòng sau:Mình có sheet xuất kho cần truy xuất bằng combo box từ sheet mà hàng hoá. nhưng vấn đề là mình cần lấy hết dữ liệu khi chọn list mà k dc: k lấy dc giá trị số lượng, đơn gía...
ActiveCell.Offset(, 2) = .List(, 2)
ActiveCell.Offset(, 3) = .List(, 3)
Private Sub ComboBox1_Change()
With ComboBox1
If .MatchFound Then
ActiveCell.Value = .Value
ActiveCell.Offset(, 1) = .List(, 1)
'!!!!!===>Bổ sung vào đoạn này<====!!!!!!'
ActiveCell.Offset(, 9) = .List(, 3)
Else
ActiveCell.Resize(, 9).ClearContents
End If
End With
End Sub
muốn thêm cột 4 và cột 5 thì sao bạnBạn bổ sung thêm 2 dòng sau:
vào đoạnMã:ActiveCell.Offset(, 2) = .List(, 2) ActiveCell.Offset(, 3) = .List(, 3)
Mình đã thử chắc là đúng ý bạn thôi. Nhưng mà dùng code này trên win 64 toàn báo lỗi ; mình phải bổ sung thêm tiền tố PtrSafe ở đoạn khai báo đầu code. Với lại mình thấy hình như code bị lỗi; sau khi sử dụng combo box; click chuột vào 1 ô nào đó bên sheet Mã hàng hóa thì bị xóa dữ liệuMã:Private Sub ComboBox1_Change() With ComboBox1 If .MatchFound Then ActiveCell.Value = .Value ActiveCell.Offset(, 1) = .List(, 1) '!!!!!===>Bổ sung vào đoạn này<====!!!!!!' ActiveCell.Offset(, 9) = .List(, 3) Else ActiveCell.Resize(, 9).ClearContents End If End With End Sub
dòng thứ 5 trở lên thì code bị lỗi, bạn xem dùmMình đang không ngồi ở máy, nhưng bạn cứ thử bổ sung thêm vào chỗ đó các dòng
Active.cell.offset(,4)=.list(,4)
Active.cell.offset(,5)=.list(,5)
Vì Combo box lấy dữ liệu của Sheet bang ma hang hoa đến hết cột ngày nhập. Nên Code cũng chỉ dừng lại Active.cell.offset(,4)=.list(,4) . Bạn bỏ đoạn Active.cell.offset(,5)=.list(,5) đi là hết lỗi nhédòng thứ 5 trở lên thì code bị lỗi, bạn xem dùm
muốn thêm cột 4 và cột 5 thì sao bạn
sao file bạn gởi lại k dùng dc combo, nhờ bạn xem lại. Tiện bạn có thể cho mình xin code form theo dõi đơn hàng nhé! cảm ơn bạnActiveCell.Offset(, 1) = .List(, 1) sẽ cho ra tên hàng hóa của Combo Box
ActiveCell.Offset(, 2) = .List(, 2) sẽ cho ra tên số lượng còn trong kho của Combo Box
ActiveCell.Offset(, 3) = .List(, 3) sẽ cho ra Giá nhập của Combo Box
ActiveCell.Offset(, 4) = .List(, 4) sẽ cho ra ngày nhập của Combo Box
Nhưng nếu xét vào file gốc của bạn thì
ActiveCell.Offset(, 4) = .List(, 4) sẽ cho ra ngày nhập là thừa. Vì cột G của sheet Xuat kho là cột Thành tiền = Số lượng x Đơn giá. Mình có điều chỉnh lại chút file gốc của bạn xem thử nhé.
Mình thì đúng là chưa gặp code nào về combo box như file này của bạn, kể cũng khá thú vị và mới lạ với mình. Nhưng nếu xét để áp dụng vào xử lý các công việc cụ thể thì mình sẽ không chọn giải pháp này vì không hỗ trợ tìm kiếm mã, tên hàng.
Bạn ấn Alt+F11 màn hình VBE hiện lên. Trong đó có Form và Module. Bạn nghiên cứu Module 4 và toàn bộ code gắn với UserForm 2Tiện bạn có thể cho mình xin code form theo dõi đơn hàng nhé! cảm ơn bạn
Bạn xem giúp mình lấy đến giá trị giá bán 3 của sheet mã hàng hoá nhéMình vẫn sử dụng được bình thường nhé. Bạn chụp thử màn hình gửi ảnh lên đây mình xem thử
. Ý bạn là muốn đưa vào combo box thêm cột giá bán 3. Và khi ở sheet Xuat kho chọn trong combo box thì xuất đủ ra các cột tương ứng phải koBạn xem giúp mình lấy đến giá trị giá bán 3 của sheet mã hàng hoá nhé