Cách này không ổn rồi ---> Bạn mà For thế với vài ngàn dòng chắc "đuối" luôn!Chia sẽ với bạn thêm 1 cách nữa nè!
Thân.
Gọn nhất? Đơn giản nhất?theo mình thêm một cột mữa
=left(A1;3)
sau đó dùng lọc tự động sẽ chọn ra các số có số đầu là 090 là gọn nhất và đơn giản nhất ai làm cũng xong
Cũng hay!Vậy sao không đưa AutoFilter vào trong VBA luôn đi. Làm 1 lần cho nó tiện.
Thân.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = "$F$3" Then
Target.CurrentRegion.Offset(1).Clear
With Range("A3").CurrentRegion
.AutoFilter 1, Target & "*", , , False
.Offset(1).Copy: Target(2).PasteSpecial
End With
ActiveSheet.ShowAllData: Target.Select
End If
End Sub
Sub Chay()
On Error Resume Next
Dim cel As Range, dulieu As String, vung As Range, k As String
dulieu = Chr(61) & Application.InputBox("Nhap gia tri can quet:", Type:=2) & "*"
Set vung = Application.InputBox("Chon vung quet: " & Chr(10) & "Nho quet luon dong tieu de nua nha!", Type:=8)
Set cel = Application.InputBox("Chon vi tri Paste: ", Type:=8)
Application.ScreenUpdating = False
vung.AutoFilter Field:=1, Criteria1:=dulieu
k = Left(vung.Address, InStr(1, vung.Address, ":") - 1)
Range(Range(k), Range(k).End(xlDown)).Copy
cel.PasteSpecial xlPasteAll
Selection.AutoFilter
Application.ScreenUpdating = True
End Sub
Sub Chay()
Dim Des As Range
On Error GoTo Thoat
With Application.InputBox("Chon 1 cell bat ky trong vung du lieu", Type:=8).CurrentRegion
Set Des = Application.InputBox("Chon cell can paste", Type:=8)
.AutoFilter 1, InputBox("Nhap vao dau so DT can tim") & "*"
.Copy: Des.PasteSpecial
.AutoFilter
End With
Thoat: Exit Sub
End Sub