thaibao13d3bk
Thành viên mới

- Tham gia
- 4/10/19
- Bài viết
- 10
- Được thích
- 2
Dim lbID As Integer '* '
Private Sub txtlist_Change()
Dim Id, i
Dim SoHD As String '* '
Dim Rng As Range, sRng As Range
Id = txtlist.ListIndex
lbID = Me!txtlist.ListIndex '* '
SoHD = Me!txtlist.List(lbID, 0) '* '
With Sheet1
Set Rng = .Range(.[B1], .[B65500].End(xlUp))
Set sRng = Rng.Find(SoHD, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
MsgBox sRng.Row
End If
End With
'Các Lệnh Của bạn:'
' . . . . . . '
End Sub
Vì nó là 1 ListBox nên phải thêm công đoạn xác định dòng (đã chọn) trong ListBoxBạn dùng phương thức FIND giá trị Textbox , vùng tìm kiếm là cột tương ứng.
PHP:Dim lbID As Integer '* ' Private Sub txtlist_Change() Dim Id, i Dim SoHD As String '* ' Dim Rng As Range, sRng As Range Id = txtlist.ListIndex lbID = Me!txtlist.ListIndex '* ' SoHD = Me!txtlist.List(lbID, 0) '* ' With Sheet1 Set Rng = .Range(.[B1], .[B65500].End(xlUp)) Set sRng = Rng.Find(SoHD, , xlFormulas, xlWhole) If Not sRng Is Nothing Then MsgBox sRng.Row End If End With 'Các Lệnh Của bạn:' ' . . . . . . ' End Sub
Dòng đầu tiên trong mảng sArray là dòng 2 trên sheet. Dòng 2 đâu có là tiêu đề mà True?Arr = FilterMCLArray(sArray, 2, txtsearch.Text, True)
sArray = Sheet1.Range("B2:C" & Sheet1.Range("B10000").End(xlUp).Row).Value
ReDim Preserve sArray(1 To UBound(sArray), 1 To UBound(sArray, 2) + 1)
lastcol = UBound(sArray, 2)
For K = 1 To UBound(sArray)
sArray(K, lastcol) = K + 1
Next K
Private Sub txtlist_Change()
Dim id As Long, i As Long
id = txtlist.ListIndex
If id = -1 Then Exit Sub
dong = txtlist.List(id, UBound(txtlist.List, 2))
MsgBox "Chi so dong tren sheet cua muc duoc chon = " & dong
' Làm những việc cần làm
End Sub
Code không chuẩn. Bạn tìm trong cột B trong khi đó với combobox = ALL như trong hình thì người ta tìm cả trong cột B và cột C.PHP:Dim lbID As Integer '* ' Private Sub txtlist_Change() Dim Id, i Dim SoHD As String '* ' Dim Rng As Range, sRng As Range Id = txtlist.ListIndex lbID = Me!txtlist.ListIndex '* ' SoHD = Me!txtlist.List(lbID, 0) '* ' With Sheet1 Set Rng = .Range(.[B1], .[B65500].End(xlUp)) Set sRng = Rng.Find(SoHD, , xlFormulas, xlWhole) If Not sRng Is Nothing Then MsgBox sRng.Row End If End With 'Các Lệnh Của bạn:' ' . . . . . . ' End Sub
(1) Mình lại không quan tâm đến chuyện tìm kiếm của chủ bài đăng; Dù tìm bằng cột nào thì trên ListBox khi bấm chọn 1 dòng thì Số HĐ sẽ là mã để tìm trong trang CSDL(1) . . . . Bạn tìm trong cột B trong khi đó với combobox = ALL như trong hình thì người ta tìm cả trong cột B và cột C.
(2) Mà đã có id rồi thì sao lại phải dùng lbID?
@: thaibao13d3bk, post: 941301, member: 1229448 Chừng nào bạn chưa đóng Form thì tham biến lbID sẽ dẫn bạn đến dòng dữ liệu bạn đang chọn trong ListBox; Để lưu trị này bạn có thể khai báo 1 tham biến dùng chung nữa (như lbID) để chứa nó.ban ơi, cho mình hỏi giờ mình muốn lấy cái hàng đó để làm một số việc thì mình lấy biến nào để dùng vậy ạ? mình k giỏi vba cho lắm.
Tôi nhầm. Xin lỗi bạn.(1) Mình lại không quan tâm đến chuyện tìm kiếm của chủ bài đăng; Dù tìm bằng cột nào thì trên ListBox khi bấm chọn 1 dòng thì Số HĐ sẽ là mã để tìm trong trang CSDL