sao mình bấm vào ô bỏ trùng nhưng nó không có lọc và cũng không có thông báo nào, đoạn code nó chạy như này bạn ạ
Sub Macro2()
'
' Macro2 Macro
'
'
Range("A1:A14").Select
ActiveSheet.Range("$A$1:$A$12").RemoveDuplicates Columns:=1, Header:=xlYes
Range("C3").Select
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 144.75, 15, 66.75, 28.5).Select
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "b? trùng"
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 8). _
ParagraphFormat
.FirstLineIndent = 0
.Alignment = msoAlignLeft
End With
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 2).Font
.NameComplexScript = "+mn-cs"
.NameFarEast = "+mn-ea"
.Fill.Visible = msoTrue
.Fill.ForeColor.ObjectThemeColor = msoThemeColorLight1
.Fill.ForeColor.TintAndShade = 0
.Fill.ForeColor.Brightness = 0
.Fill.Transparency = 0
.Fill.Solid
.Size = 11
.Name = "+mn-lt"
End With
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(3, 6).Font
.BaselineOffset = 0
.NameComplexScript = "+mn-cs"
.NameFarEast = "+mn-ea"
.Fill.Visible = msoTrue
.Fill.ForeColor.ObjectThemeColor = msoThemeColorLight1
.Fill.ForeColor.TintAndShade = 0
.Fill.ForeColor.Brightness = 0
.Fill.Transparency = 0
.Fill.Solid
.Size = 11
.Name = "+mn-lt"
End With
Range("F5").Select
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Select
Selection.OnAction = "Macro2"
Range("A3").Select
Selection.Copy
Range("A9").Select
ActiveSheet.Paste
Range("A6").Select
Application.CutCopyMode = False
Selection.Copy
Range("A10").Select
ActiveSheet.Paste
Range("C7").Select
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Select
Range("A10").Select
Application.CutCopyMode = False
End Sub
Có 2 vấn đề:
1. Khi record macro bạn quên chưa Stop recording khi xong thao tác, dẫn tới code thừa nhiều. Code đúng cho thao tác lọc trùng chỉ có 2 dòng đầu
Range("A1:A14").Select
ActiveSheet.Range("$A$1:$A$12").RemoveDuplicates Columns:=1, Header:=xlYes
2. Với 2 dòng này, bạn có thể hiểu code lọc trùng về bản chất là:
Range("vùng cần lọc trùng").RemoveDuplicates Columns:=1, Header:=xlYes
Trong đó:
Columns:=1 tức là cột thứ 1 trong vùng cần lọc trùng.
Header:=xlYes tức là vùng này có bao gồm tên tiêu đề
---
Bạn có thể thử áp dụng code trên xem sao nhé.