tanthanh94
Thành viên mới

- Tham gia
- 24/8/14
- Bài viết
- 46
- Được thích
- 3


muốn xóa những ô màu vàng trong 1 cột bạn làm như sau
B1:Fillter theo màu
B2:Chọn goto speacial -> chọn visible ->
B3:Ra ngoài nhấn nút clear contents là ok

Chào các anh
Nếu các mã trong cột A sheet1 trùng với cột A sheet2
thì xóa dữ liệu các dòng mình tô màu vàng trong sheet2 theo file đính kèm.
Sub xoadong()
Dim Rng As Range, Rng1 As Range, cll As Range
Set Rng = Sheet1.Range("A4:A" & Sheet1.Range("A65000").End(xlUp).Row)
Set Rng1 = Sheet2.Range("A5:A" & Sheet2.Range("A65000").End(xlUp).Row)
For Each cll In Rng1
If Application.CountIf(Rng, cll) = 1 Then
cll.EntireRow.Delete
End If
Next
Set Rng = Nothing
Set Rng1 = Nothing
End Sub
cll.Offset(, 1).Resize(, 25).ClearContents

ý của mình xóa như vậy nhưng không muốn mất dữ liệu cột BBạn thử xem sao,PHP:Sub xoadong() Dim Rng As Range, Rng1 As Range, cll As Range Set Rng = Sheet1.Range("A4:A" & Sheet1.Range("A65000").End(xlUp).Row) Set Rng1 = Sheet2.Range("A5:A" & Sheet2.Range("A65000").End(xlUp).Row) For Each cll In Rng1 If Application.CountIf(Rng, cll) = 1 Then cll.EntireRow.Delete End If Next Set Rng = Nothing Set Rng1 = Nothing End Sub
Private Sub CommandButton1_Click()
Dim Dic As Object, sArr(), tArr(1 To 1000, 1 To 1), dArr(1 To 1000, 1 To 1)
Dim I As Long, K As Long, C As Long, Tem As String
Dim Rng As Range, Clls As Range
Set Dic = CreateObject("Scripting.Dictionary")
sArr = Range([A5], [A65536].End(xlUp)).Value
C = [IV4].End(xlToLeft).Column
For I = 1 To UBound(sArr, 1)
K = K + 1
Tem = sArr(I, 1)
If Not Dic.Exists(Tem) Then Dic.Add Tem, K
tArr(I, 1) = sArr(I, 1)
Next I
With Sheet1
sArr = .Range(.[A4], .[B65536].End(xlUp)).Value
End With
For I = 1 To UBound(sArr, 1)
Tem = sArr(I, 1)
If Dic.Exists(Tem) Then
dArr(Dic.Item(Tem), 1) = sArr(I, 2)
Else
K = K + 1
tArr(K, 1) = sArr(I, 1)
dArr(K, 1) = sArr(I, 2)
End If
Next I
[A5].Resize(K) = tArr
[COLOR=#ff0000][A5].Offset(, 1).Resize(K).Value = dArr
Set Rng = Sheet2.Range("B5:B5000")
For Each Clls In Rng
If Clls.Value <> Empty Then
Clls.Resize(, 25).ClearContents[/COLOR]
End If
Next
Set Dic = Nothing
End Sub



ý của mình xóa như vậy nhưng không muốn mất dữ liệu cột B
Mình bổ sung thêm phần màu đỏ từ code anh Ba TÊ

- ý của mình là nếu các dữ liệu trong cột A sheet1 trùng với cột A Sheet2 thì xóa các giá trị các dòng từ cột BBạn muốn gì thì ngay từ lúc đầu hỏi. Hãy nêu hết ra để người giúp bạn khỏi phải mất công mất sức. Và nếu là tiếp của bài trước thì phải có liên kết với nhau. Đằng này chẳng thấy đầu đuôi đâu cả.
