Thử thu macro lại xem kết quả thế nàoEm xin diễn giải như sau ạ:
cột B có nhiều dữ liệu, nếu cột B mà có chuỗi "PKL*" thì cột N sẽ là "PF1" xét cho tới dòng cuối của cột B ạ.
Mong các anh chị viết dùm code ạ.
Sub Macro1()
'
' Macro1 Macro
'
'
Range("O6").Select
ActiveCell.FormulaR1C1 = "PF!"
Range("O6").Select
ActiveCell.FormulaR1C1 = "PK1"
Range("O7").Select
Selection.FillDown
Range("O8").Select
Selection.FillDown
Range("O9").Select
End Sub
Điền 1 ô công thức xong kéo xuốngEm record Marcro
Sao nó kỳ quá.Mã:Sub Macro1() ' ' Macro1 Macro ' ' Range("O6").Select ActiveCell.FormulaR1C1 = "PF!" Range("O6").Select ActiveCell.FormulaR1C1 = "PK1" Range("O7").Select Selection.FillDown Range("O8").Select Selection.FillDown Range("O9").Select End Sub
Sub Macro2()
'
' Macro2 Macro
'
'
Range("N5").Select
ActiveCell.FormulaR1C1 = "=IF(LEFT(RC[-12],3)=""PKL"",""PF1"","""")"
Range("N5").Select
Selection.AutoFill Destination:=Range("N5:N14"), Type:=xlFillDefault
Range("N5:N14").Select
End Sub
Sub TimKiem()
Dim Rng As Range, sRng As Range
Dim MyAdd As String: Dim Rws As Long
Rws = [B2].UsedRange.Rows.Count
Set Rng = [B2].Resize(Rws)
Set sRng = Rng.Find("PKL", , xlFormulas, xlPart)
If Not sRng Is Nothing Then
MyAdd = sRng.Address
Do
Cells(sRng.Row, "N").Value = "PF1"
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
End Sub
Sub t()
' nếu dữ liệu ở cột N trống thì xét dòng tương ứng cột B.
' nếu B ở dạng PKL* thì ghi "PF1" vào N
' chú ý: code này chỉ hữu hiệu nếu số lượng thỏa điều kiện tương dối cao (>20%?)
lRow = Cells(Rows.Count, "B").End(xlUp).Row
aB = Range("b1:b" & lRow).Value2
aN = Range("n1:n & lRow).Value2
cCount = 0 ' đếm số chỉnh sửa
For i= 1 To lRow
If aN(i, 1) <> "" Then ' chỉ xét nếu N không có dữ liệu
If Left(aB(i, 1), 3) = "PLK" Then
aN(i, 1) = "PK1"
cCount = cCount + 1
End If
End If
Next i
Range("N1").Resize(lRow, 1).Value2 = aN
MsgBox "Finito! Number of cells changed: " & cCount
End Sub
Ở bài trên tôi có nói rõ là với vấn để này, TỶ LỆ mới quan trọng với thuật toán. Con số tổng dữ liệu không quan trọng bằng.... File làm theo tháng, nên dữ liệu cỡ 3000 dòng. ...