tranphuson
Thành viên thường trực
- Tham gia
- 14/8/09
- Bài viết
- 269
- Được thích
- 10
- Giới tính
- Nam
tham khảo công thức cơ bản match+index không cần dùng vbaVui lòng giúp mình Vlookup bằng VBA - Khi gõ ký tự vào thì dò tìm dữ liệu hiện ra ở phía dòng trên dữ liệu đã gõ
Ví dụ: Gõ chữ A ở Cột B3 thì tự động hiện ra dòng phía trên B2 và B1 nội dung dò tìm ở Sheet "MA"
View attachment 269811
Xin cảm ơn
Công thức đó mình biết, nhưng muốn cho nhanh không cần dùng công thức nên muốn nhờ sự hỗ trợ VBAtham khảo công thức cơ bản match+index không cần dùng vba
Bài này dùng công thức hợp lý hơn VBA.nhưng muốn cho nhanh
Private Sub Worksheet_Change(ByVal Target As Range)
Dim J As Integer, Vung As Range, Ws As Worksheet, sRng As Range
Set Ws = Sheets("MA")
Set Vung = Ws.[A3].CurrentRegion
Set Vung = Vung(1).Resize(Vung.Rows.Count)
'MsgBox Vung.Address, , Vung.Parent.Name '
If Not Intersect(Target, Range("B3").Resize(, 9999)) Is Nothing Then
If Target.Count = 1 Then
Set sRng = Vung.Find(Target.Value, , xlFormulas, xlWhole)
If sRng Is Nothing Then
MsgBox "Nothing!"
Else
Target.Offset(-1).Value = sRng.Offset(, 1).Value
Target.Offset(-2).Value = sRng.Offset(, 2).Value
MsgBox "Xong Rôi!", , "GPE.COM Xin Chúc Mùng!"
End If
End If
End If
End Sub
Đúng như mình cần, cảm ơn bạn đã giúpBạn thử xài cái này thay cho đứa con của bạn:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) Dim J As Integer, Vung As Range, Ws As Worksheet, sRng As Range Set Ws = Sheets("MA") Set Vung = Ws.[A3].CurrentRegion Set Vung = Vung(1).Resize(Vung.Rows.Count) 'MsgBox Vung.Address, , Vung.Parent.Name ' If Not Intersect(Target, Range("B3").Resize(, 9999)) Is Nothing Then If Target.Count = 1 Then Set sRng = Vung.Find(Target.Value, , xlFormulas, xlWhole) If sRng Is Nothing Then MsgBox "Nothing!" Else Target.Offset(-1).Value = sRng.Offset(, 1).Value Target.Offset(-2).Value = sRng.Offset(, 2).Value MsgBox "Xong Rôi!", , "GPE.COM Xin Chúc Mùng!" End If End If End If End Sub
Chúc vui nha!
VBA thì phải gõ công thức. Công thức thì phải "kéo" qua phải.Bài này dùng công thức hợp lý hơn VBA.
Trong code cóNhân tiện cho mình hỏi là khi kéo dữ liệu ở dòng dưới sang tay phải giống nhau thì phía trên lại không tự động chạy ra mà phải vô nhấn F2 hoặc enter thì mới hiện ra
Cảm ơn
View attachment 269835
If Target.Count = 1 Then
Set sRng = Vung.Find(Target.Value, , xlFormulas, xlWhole)
If sRng Is Nothing Then
MsgBox "Nothing!"
Else
Target.Offset(-1).Value = sRng.Offset(, 1).Value
Target.Offset(-2).Value = sRng.Offset(, 2).Value
MsgBox "Xong Rôi!", , "GPE.COM Xin Chúc Mùng!"
End If
End If