em đang tìm lời giải cho bài toán này mà em chưa tìm ra cách làm sao.mong được các anh chị giúp đỡ.em gửi file đính kèm vì khó nói quá
dạ ý em là ở bảng sheet đó. mỗi lần em tìm tên hàng để nhập ngày tháng giao hàng thấy mất công quá. em muốn ở ô màu vàng em chi cần nhập mã số thì ở dưới nó sẽ hiện ra tên hàng mà mình đang tìm để nhập ngày tháng vào .
Sub worksheet_change(ByVal target As Range)
On Error Resume Next
Dim i As Long
If [B2] <> "" Then
For i = 4 To [B65536].End(xlUp).Row
If Cells(i, 2) = [B2] Then
Cells(i, 7).Select
Exit For
End If
Next
End If
End Sub
Tôi record macro quá trình lọc bằng Advanced Filter thôi mà, rất đơn giãnbác ndu ơi, bác có thể giải thích cái sub của bác cho em hiểu nha. cách bác làm hay lắm. đọc bài của lehuyluan em chỉ nghĩ đến cách tạo 1 data và bảng dò tìm ra kết quả mà thôi.
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 18/08/2008 by ndu
'
'
Range("A4").Select
Selection.CurrentRegion.Select
Range("A4:J24").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("B1:B2"), Unique:=False
End Sub
Sub Macro1()
Set DS = [A4].CurrentRegion
DS.AdvancedFilter Action:=1, CriteriaRange:= Range("B1:B2")
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
Set DS = [A4].CurrentRegion
DS.AdvancedFilter Action:=1, CriteriaRange:=Range("B1:B2")
End If
End Sub
Chính xác là:bác ndu ơi, vậy Set DS = A4 tức là mình gán cho địa chỉ này là DS phải không bác.
Bác danh ơi, em mở file bác để tham khảo nhưng khi gõ mã số vào nó không tự động auto filter như bác ndu được.
Tương đương với việc đặt con trỏ tại A4, bấm Ctrl + G vào Special\CurrentRegion... lúc đó nó sẽ chọn hết những vùng dử liệu có "dính" với A4Set DS = [A4].CurrentRegion
Private Sub Worksheet_Change(ByVal target As Range)
Dim i As Long
On Error Resume Next
Set Ma = Range("B4:B" & [B65536].End(xlUp).Row)
VT = Application.WorksheetFunction.Match([B2], Ma, 0)
[B3].Offset(VT, 5).Select
End Sub
em muốn vận dụng cách làm của bác danh vào file tương tự như bạn lehuyluan nhưng cái file của em lại được làm trên cái form có các câu lệnh khóa cell của bác bab. các bác có thể giúp em thêm câu lệnh hay chỉnh sửa câu lệnh của bác bab để em có thể ứng dụng vào file của mình.vì file em nặng lắm không post lên được. bác có thể copy file của bạn lehuyluan vào form của bác bab rồi giúp em ạh.cám ơn bác.
Sub worksheet_change(ByVal target As Range)
On Error Resume Next
ActiveSheet.Unprotect
If target <> "" Then
target.Locked = True
End If
ActiveSheet.Protect
End Sub
--------------------------------------------------
Sub Button1_Click()
ActiveSheet.Unprotect
End Sub
dạ ý em là ở bảng sheet đó. mỗi lần em tìm tên hàng để nhập ngày tháng giao hàng thấy mất công quá. em muốn ở ô màu vàng em chi cần nhập mã số thì ở dưới nó sẽ hiện ra tên hàng mà mình đang tìm để nhập ngày tháng vào .
cám ơn bác danh. em thích cách của bác bab vì muốn chỉnh sửa phải có password mới cho phép chỉnh sửa. Để em copy cái dữ liệu nhỏ nhỏ rồi đưa lên để bác giúp em. em mượn file của bạn lehuyluan nha.
Bác có thể thêm câu lệnh có pass vào cái forrm mẫu của bác là rất ok vì bác đặt macro ở vị trí dễ sử dụng hơn bác bab.
Sub worksheet_change(ByVal target As Range)
On Error Resume Next
ActiveSheet.Unprotect "DANH"
If target <> "" Then
target.Locked = True
End If
ActiveSheet.Protect
End Sub
Sub Button1_Click()
If UCase(InputBox("Nhap password : ", "Unprotect")) = "DANH" Then
ActiveSheet.Unprotect
End If
End Sub
Mình sửa lại file cũ của mình tí là xong ấy mà :
PHP:Sub worksheet_change(ByVal target As Range) On Error Resume Next ActiveSheet.Unprotect "DANH" If target <> "" Then target.Locked = True End If ActiveSheet.Protect End Sub Sub Button1_Click() If UCase(InputBox("Nhap password : ", "Unprotect")) = "DANH" Then ActiveSheet.Unprotect End If End Sub
Tôi không hiểu bạn đã làm gì trên file mà lại nói là chậm!Cho mình hỏi thăm tí, với dữ liệu khoảng 1000 dòng, mình chạy code loc của Ndu xong, chỉnh sửa xong, muốn bung ra lai toàn bộ danh sach thì code chạy rất lâu ( vì hình như nó calculate lại dữ liệu mặc dù mình đã đạt EnableEvent = False. Có cách nào push nó nhanh hơn khong nhi?