Xin giúp đỡ code nạp dữ liệu được tích chọn từ listbox sang textbox để nhập vào sheet hiện hành

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

ThuyDuong2024

Thành viên mới
Tham gia
14/12/11
Bài viết
32
Được thích
1
Em có tham khảo một số code của mn trên f4 để lập một form nhập liệu theo kiểu tích chọn trong listbox rồi nhập vào sheet từ dữ liệu có sẵn.
Hiện e đã tạo được form, đưa dữ liệu từ Data lên Listbox, tích chọn dạng muti, được tuỳ chọn bằng 2 combobox.
Vđ cần mọi người giúp đỡ là phần code để nạp các dòng dữ liệu được tích chọn từ listbox sang textbox rồi nhấn nút ok để nhập vào sheet hiện hành.
Nội dung cụ thể trong file đính kèm. File có pass VBA từ file tham khảo từ lâu rồi nên để vậy dùng. Pass VBA: 0961051569@
Rất mong mọi người hỗ trợ ạ! Thanks!
 

File đính kèm

  • Form nhap lieu22.xls
    282 KB · Đọc: 29
Lần chỉnh sửa cuối:
VD: chọn các loại VT ở listbox thì nó sẽ hiện sang textbox và được nối với nhau bằng dấu ;
Form1.jpg
 
Upvote 0
VD: chọn các loại VT ở listbox thì nó sẽ hiện sang textbox và được nối với nhau bằng dấu ;
Thêm đoạn code này vào userform xem sao:
Mã:
Private Sub ListBox3_Change()
 Dim i&, k&, Res()
    For i = 0 To ListBox3.ListCount - 1
        If ListBox3.Selected(i) = True Then
            k = k + 1
            ReDim Preserve Res(1 To k)
            Res(k) = ListBox3.List(i, 0)
        End If
    Next
    TextBox3.Value = VBA.Join(Res, "; ")
End Sub
 
Upvote 0
Rất ok rồi b ơi, nhưng có cách nào để dữ liệu hiển thị trong Textbox3 nó sẽ xuống dòng trong vùng nhìn thấy của ô ko, chứ nó sẽ bị khuất nếu có nhiều dữ lệu được chọn.

F2.jpg
 

File đính kèm

  • F2.jpg
    F2.jpg
    67.6 KB · Đọc: 2
Lần chỉnh sửa cuối:
Upvote 0
Mình đã tìm được code để gán dữ liệu từ textbox3 xuống sheet:

Private Sub CommandButton2_Click()
If Not Intersect([c7:c1000], ActiveCell) Is Nothing Then
On Error Resume Next
Cells(ActiveCell.Row, 2) = TextBox2.Text
Cells(ActiveCell.Row, 19) = TextBox3.Text
ActiveCell.Offset(1).Select
SpinButton1.Value = Cells.Rows.Count + 1 - ActiveCell.Row
End If
Unload Me
End Sub
Hiện chưa có code cho CommandButton3 để huỷ các tích chọn trong listbox2 đồng thời làm mất dữ liệu đã nạp từ listbox2 vào textbox3, và dữ liệu nhập vào textbox2 khi muốn huỷ bỏ các lựa chọn đó. Mong mn tiếp tục giúp với ạ!
 
Upvote 0
Mình đã tìm được code để gán dữ liệu từ textbox3 xuống sheet:

Private Sub CommandButton2_Click()
If Not Intersect([c7:c1000], ActiveCell) Is Nothing Then
On Error Resume Next
Cells(ActiveCell.Row, 2) = TextBox2.Text
Cells(ActiveCell.Row, 19) = TextBox3.Text
ActiveCell.Offset(1).Select
SpinButton1.Value = Cells.Rows.Count + 1 - ActiveCell.Row
End If
Unload Me
End Sub
Hiện chưa có code cho CommandButton3 để huỷ các tích chọn trong listbox2 đồng thời làm mất dữ liệu đã nạp từ listbox2 vào textbox3, và dữ liệu nhập vào textbox2 khi muốn huỷ bỏ các lựa chọn đó. Mong mn tiếp tục giúp với ạ!
Bạn viết thêm code vào thử xem sao:
Private Sub CommandButton3_Click()

For i = 0 To ListBox3.ListCount - 1
ListBox3.Selected(i) = False
Next i
TextBox3.Value = ""
End Sub
Trong textbox3 thì bạn sử dụng thuộc tính MultiLine để xuống hàng nhé.
 
Upvote 0
Rất cảm ơn bác, nhưng code cho CommandButton3 khi chạy thì báo lỗi Variable not defined ở dòng lệnh For i = 0 To ListBox3.ListCount - 1
 
Upvote 0
Rất cảm ơn bác, nhưng code cho CommandButton3 khi chạy thì báo lỗi Variable not defined ở dòng lệnh For i = 0 To ListBox3.ListCount - 1
Sửa lại như này giúp mình nhé, chưa khai báo biến.
Private Sub CommandButton3_Click()
Dim i&
For i = 0 To ListBox3.ListCount - 1
ListBox3.Selected(i) = False
Next i
TextBox3.Value = ""
End Sub
 
Upvote 0
File đã thêm code nhưng bị lỗi của nút huỷ chọn:
 

File đính kèm

  • Form nhap lieu22.xls
    287 KB · Đọc: 18
Upvote 0
Web KT
Back
Top Bottom