Liệt kê danh sách tương ứng với từ nhập vào tại vị trí có Combobox! (1 người xem)

Liên hệ QC

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

ftthua2003

Thành viên chính thức
Tham gia
15/8/08
Bài viết
97
Được thích
11
Em nhờ cả nhà giúp đỡ. Nội dung e ghi rõ trong file đính kèm.
Trong file có sử dụng code của các thành viện GPE.
Cảm ơn cả nhà!
 
Em nhờ cả nhà giúp đỡ. Nội dung e ghi rõ trong file đính kèm.
Trong file có sử dụng code của các thành viện GPE.
Cảm ơn cả nhà!

Góp ý cho bạn, File này cần thêm 1 số Sheet như sau:

1/ 1 Sheet THEO DOI KHO: Để khi in phiếu nhập kho xong thì nhấn nút nhập thì dữ liệu của phiếu này được lưu vào Sheet THEO DOI KHO (để đỡ nhập liệu).

2/ 1 Sheet THEO DOI XUAT KHO: Dùng ngay phiếu nhập kho chuyển đỗi thành xuất kho, sau khi in phiếu xong thì nhấn nút xuất thì dữ liệu của phiếu xuất được lưu vào Sheet THEO DOI XUAT KHO (để đỡ nhập liệu).

3/ 1 Sheet THEO DOI XUAT NHAP TON: Dùng theo dõi hàng nhập, hàng xuất còn lại là số lượng hàng tồn kho còn bao nhiêu để báo cáo và có kế hoạch mua bổ sung những món hàng đã hết.

Lưu ý:

- Nội dung phiếu xuất, nhập phải tương ứng với tiêu đề cột của Sheet THEO DOI KHO và của Sheet THEO DOI XUAT KHO.

- Cũng có thể dùng ngay cái phiếu xuất, nhập mà truy vấn những phiếu trước đây mà in lại phiếu hoặc sửa nội dung phiếu rồi nhập ngược trở lại.

- Những vấn đề tôi nêu lên đây có thể là 1 ý tưởng mới (5 trong 1), nhưng làm được ý tưởng này thì có thể cũng phức tạp (chắc còn phụ thuộc vào khả năng).
 
Lần chỉnh sửa cuối:
Upvote 0
A chị nào ngang qua nhà, giúp e với. Cảm ơn cả nhà.
 
Lần chỉnh sửa cuối:
Upvote 0
Cả nhà có cách nào không, giúp mình với.
Đứng hóng_)()(-cả nhà giúp đỡ.
 
Upvote 0
Hy vọng cuối tuần, anh chị có thời gian giúp mình. Đợi đợi đợi....:help:
 
Upvote 0
Mở cái file của bạn ra mình mới hiểu tại sao bạn lại phải đợi lâu đến vậy. Bạn ẩn hết sheettab đi làm gì. Ban đưa mọi người theo các đường dẫn của bạn nữa. Ngồi soạn code giúp bạn thì được chứ ngồi sửa rồi đoán xem cái sheet này là sheet nào thì khá nhiều anh em GPE mắc chứng lười đấy.
Hơn nữa, đề tài này chắc chắn đã có trên GPE không biết bạn đã tìm chưa?
 
Upvote 0
Cảm ơn bạn sealand nhiều.
Mình tìm được file của bạn LetGâuGâu, file kết hợp combobox và listbox.
Mình sẽ làm thử có khó khăn bạn giúp đỡ mình nhé!
 
Upvote 0
Mở cái file của bạn ra mình mới hiểu tại sao bạn lại phải đợi lâu đến vậy. Bạn ẩn hết sheettab đi làm gì. Ban đưa mọi người theo các đường dẫn của bạn nữa. Ngồi soạn code giúp bạn thì được chứ ngồi sửa rồi đoán xem cái sheet này là sheet nào thì khá nhiều anh em GPE mắc chứng lười đấy.
Hơn nữa, đề tài này chắc chắn đã có trên GPE không biết bạn đã tìm chưa?

Tôi có góp ý ở bài #1, nhưng chủ Topic không có ý kiến gì, vì làm 1 cái như trên cũng mất khá nhiều thời gian nên tôi cũng cho qua phà.
 
Upvote 0
Tôi có góp ý ở bài #1, nhưng chủ Topic không có ý kiến gì, vì làm 1 cái như trên cũng mất khá nhiều thời gian nên tôi cũng cho qua phà.
Em xin lỗi anh Be09.
Khi nhận bài góp ý kiến của anh e trả lời liền trên laptop, sau đó không biết thế nào e ngồi nghịch điện thoại thì bài #4 e trả lời anh thành bài #4 đã sửa nội dung. Khi e mở máy lap top lên thì nội dung em trả lời anh mất tiêu. Không biết anh đọc được chưa ah.
Thành thật xin lỗi anh.
 
Upvote 0
Góp ý cho bạn, File này cần thêm 1 số Sheet như sau:

1/ 1 Sheet THEO DOI KHO: Để khi in phiếu nhập kho xong thì nhấn nút nhập thì dữ liệu của phiếu này được lưu vào Sheet THEO DOI KHO (để đỡ nhập liệu).

2/ 1 Sheet THEO DOI XUAT KHO: Dùng ngay phiếu nhập kho chuyển đỗi thành xuất kho, sau khi in phiếu xong thì nhấn nút xuất thì dữ liệu của phiếu xuất được lưu vào Sheet THEO DOI XUAT KHO (để đỡ nhập liệu).

3/ 1 Sheet THEO DOI XUAT NHAP TON: Dùng theo dõi hàng nhập, hàng xuất còn lại là số lượng hàng tồn kho còn bao nhiêu để báo cáo và có kế hoạch mua bổ sung những món hàng đã hết.

Lưu ý:

- Nội dung phiếu xuất, nhập phải tương ứng với tiêu đề cột của Sheet THEO DOI KHO và của Sheet THEO DOI XUAT KHO.

- Cũng có thể dùng ngay cái phiếu xuất, nhập mà truy vấn những phiếu trước đây mà in lại phiếu hoặc sửa nội dung phiếu rồi nhập ngược trở lại.

- Những vấn đề tôi nêu lên đây có thể là 1 ý tưởng mới (5 trong 1), nhưng làm được ý tưởng này thì có thể cũng phức tạp (chắc còn phụ thuộc vào khả năng).
Em xin trả lời anh Be09 và đính kèm lại file như Anh Sealand đã góp ý anh nhé.
Do file em lập, để hằng ngày công trường thi công có nhập, xuất thì báo mail về cho e để em tổng hợp khối lượng và kiểm tra thi công có đảm bảo không. Nên không cần theo dõi mua hàng bổ sung anh ah.
- Sheet như anh nói "Sheet THEO DOI KHO", "THEO DOI XUAT KHO", e đã lưu ở sheet "Bang theo dõi nhập xuất"
- Sheet "THEO DOI XUAT NHAP TON" em theo dõi qua sheet "Bang TH khối lượng"
- Còn "truy vấn những phiếu trước đây mà in lại phiếu hoặc sửa nội dung phiếu" như anh góp ý em sẽ bổ sung do em được học qua khóa học VBA do GPE tổ chức nên em làm được(làm theo Thầy Mỹ hướng dẫn anh ah)
Chỉ khó là thư viện vật tư dài mà tìm đúng mã VT trên Combox rất lâu. Mà e thì làm không dc, do e cũng mới tập tành VBA thôi anh.
Cảm ơn anh Be09 và Sealand.
 
Upvote 0
Mấy bữa không để ý giờ mới biết bạn hỏi thêm, nay mình gửi bài bổ xung:

1/Mình tham gia dùng Listbox thay Combo đỡ phải thêm code mở ra
2/Đã dùng code thì bỏ dùng Name đỡ quản lý Name
3/Mình dùng 2 listbox: 1 chọn nhóm, 1 dùng chung các danh sách
4/Code như sau chạy khá mượt kể cả dùng chuột hay bàn phím (Chọn nhấn Enter hay nháy đúp chuột, thoát nhấn Esc)
Mã:
Option Explicit
Private Sub OpenLb2(Cot, Rg As Range)
Dim endRg As Range, ChCl, SoCot
If Rg.Column = 3 Then SoCot = 3 Else SoCot = 1
With Me.Lb2
.ColumnCount = SoCot
.ColumnWidths = IIf(SoCot = 1, "250", "70;200;50")
.Width = IIf(SoCot < 2, 255, 325)
ChCl = Choose(Cot, "AH", "B", "G", "L", "Q", "V", "AA", 0, 0, 0, 0, 0, 0)
Set endRg = Sheet2.Cells(65000, ChCl).End(xlUp)
.ListFillRange = Sheet2.Name & "!" & Sheet2.Range(Sheet2.Cells(3, ChCl), endRg).Resize(, SoCot).Address
.Height = IIf(.ListCount > 10, 144, .ListCount * 14.7 + 10)
.Top = Rg.Top
.Left = Rg.Left
.Visible = True
.Activate
End With
End Sub

'----------------------------------
Private Sub Lb1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim Cl2
Lb1.Visible = False
Cl2 = IIf(Lb1.ListIndex < 1, 2, Lb1.ListIndex + 2)
OpenLb2 Cl2, ActiveCell
End Sub

'--------------------------------------
Private Sub Lb1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim Cl1, Cl2
If KeyCode = 13 Then
KeyCode = 0
Lb1.Visible = False
Cl2 = IIf(Lb1.ListIndex < 1, 2, Lb1.ListIndex + 2)
OpenLb2 Cl2, ActiveCell
ElseIf KeyCode = 28 Then
Lb1.Visible = False
End If
End Sub

'--------------------------------------------
Private Sub Lb2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Nhap
End Sub

'-----------------------------------------------
Private Sub Lb2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
Nhap
ElseIf KeyCode = 28 Then
Lb2.Visible = False
ActiveCell.Select
End If
End Sub

'----------------------------------------
Sub Nhap()
On Error GoTo Thoat
If Lb2.ListIndex = "" Then Lb2.ListIndex = 0
If ActiveCell.Column = 3 Then
ActiveCell = Lb2
ActiveCell.Offset(, 1) = Lb2.Column(1)
ActiveCell.Offset(, 2) = Lb2.Column(2)
Else
ActiveCell = Lb2
End If
Lb2.Visible = False
ActiveCell.Select
Thoat:
End Sub

'----------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
If .Row > 9 And .Column = 7 And .Cells.Count = 1 Then
OpenLb2 1, ActiveCell
ElseIf .Row > 9 And .Column = 3 And .Cells.Count = 1 Then
Lb1.Top = .Top
Lb1.Left = .Left
Lb1.Visible = True
Lb1.ListFillRange = Sheet2.Name & "!" & Sheet2.Range(Sheet2.[AO2], Sheet2.[AO1000].End(xlUp)).Address
Lb1.Activate
Else
Lb1.Visible = False
Lb2.Visible = False
End If
End With
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Em cảm ơn anh Sealand rất nhiều ah!
Code chạy mượt hơn rất nhiều khi dùng Name và cập nhật dữ liệu cũng nhanh .
Mà Chắc mấy sự kiện anh làm em còn phải nghiên cứu dài dài mới thẩm thấu được . Nhìn chua quá . hiiii+-+-+-++-+-+-++-+-+-+
Như câu hỏi lúc em gửi bài. Anh có cách nào khi gõ 1 ký tự vào vị trí có listbox thì những tên vật tư có ký tự đó liệt kê thành danh sách không anh. Vì trong mã "XD" của em rất nhiều tên vật tư mà lăn chuột, hoặc kéo tìm lâu lắm anh ah. Anh cố giúp em nhé!
Còn nếu không có cách em chia nhỏ mã XD ra chắc cũng được anh nhỉ.
 
Upvote 0
Em cảm ơn anh Sealand rất nhiều ah!
Code chạy mượt hơn rất nhiều khi dùng Name và cập nhật dữ liệu cũng nhanh .
Mà Chắc mấy sự kiện anh làm em còn phải nghiên cứu dài dài mới thẩm thấu được . Nhìn chua quá . hiiii+-+-+-++-+-+-++-+-+-+
Như câu hỏi lúc em gửi bài. Anh có cách nào khi gõ 1 ký tự vào vị trí có listbox thì những tên vật tư có ký tự đó liệt kê thành danh sách không anh. Vì trong mã "XD" của em rất nhiều tên vật tư mà lăn chuột, hoặc kéo tìm lâu lắm anh ah. Anh cố giúp em nhé!
Còn nếu không có cách em chia nhỏ mã XD ra chắc cũng được anh nhỉ.

Nói cho rõ, tên vật tư bắt đầu bằng ký tự gõ vào hay chứa ký tự?
 
Upvote 0
Tôi tham gia nếu tùy biến điều kiện lọc thì nên dùng form chứ dùng sự kiện của Worksheet dễ phát sinh các sự cố khó lường.
Bạn tham khảo cách dùng Form.
 

File đính kèm

Upvote 0
Em cảm ơn anh rất nhiều !
Nhưng anh xem bổ sung giúp e, nhấp đúp chuột và khi lăn chuột để trượt tên vật tư trong userform anh nhé!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom