Yinelenen değerlerden kırmızı renkte olanları silme

Katılım
25 Kasım 2021
Mesajlar
7
Excel Vers. ve Dili
Office 365 2110 64 Bit TR-EN
Merhaba,

Excelde kırmızı ve siyah renkte yinelenen değerlerim var. Yinelenen yazı rengi hem kırmızı hem siyah renkte. Bunlardan sadece kırmızı yinelenenleri silip siyah olanlar kalsın istiyorum nasıl yapabilirim. Bununla ilgili bir makro varmı? Yinelenen tüm kırmızılar silinecek. Yardımcı olabilir misiniz?
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Tüm kırmızı satırlar silinecek diyebilir miyiz?
 
Katılım
25 Kasım 2021
Mesajlar
7
Excel Vers. ve Dili
Office 365 2110 64 Bit TR-EN
Tüm kırmızı satırlar silinecek diyebilir miyiz?
evet ama yinelenmeyen kırmızılarda var onlar silinmeyecek. B sütununa göre yapabilir miyiz? mesela 3 adet 001-01-02-0126 var. birisi siyah renk, 2 si kırmızı renk. Bunların kırmızıları silinecek siyah olan kalacak.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Aşağıdaki kodu sayfanızda çalıştırın.
C++:
Sub TekrarlananKırmızı()
    son = Range("B12").End(xlDown).Row
    For i = son To 12 Step -1
        If WorksheetFunction.CountIf(Range("B12:B" & son), Range("B" & i)) > 0 Then
            If Range("B" & i).Font.Color = vbRed Then Rows(i).Delete
        End If
    Next i
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub TEST()
    Dim rng As Range, cell As Range, silRng As Range
    Set rng = Range("B12", Cells(Rows.Count, 2).End(3))
    For Each cell In rng
        If cell.Font.Color = vbRed Then
            If WorksheetFunction.CountIf(rng, cell.Value) > 1 Then
                If silRng Is Nothing Then
                    Set silRng = cell.EntireRow
                Else
                    Set silRng = Union(silRng, cell.EntireRow)
                End If
            End If
        End If
    Next cell
    If Not silRng Is Nothing Then silRng.Delete
End Sub
 
Katılım
25 Kasım 2021
Mesajlar
7
Excel Vers. ve Dili
Office 365 2110 64 Bit TR-EN
Aşağıdaki kodu sayfanızda çalıştırın.
C++:
Sub TekrarlananKırmızı()
    son = Range("B12").End(xlDown).Row
    For i = son To 12 Step -1
        If WorksheetFunction.CountIf(Range("B12:B" & son), Range("B" & i)) > 0 Then
            If Range("B" & i).Font.Color = vbRed Then Rows(i).Delete
        End If
    Next i
End Sub
Bu kod tekrar etmeyen kırmızılarıda sildi.
 
Katılım
25 Kasım 2021
Mesajlar
7
Excel Vers. ve Dili
Office 365 2110 64 Bit TR-EN
Kod:
Sub TEST()
    Dim rng As Range, cell As Range, silRng As Range
    Set rng = Range("B12", Cells(Rows.Count, 2).End(3))
    For Each cell In rng
        If cell.Font.Color = vbRed Then
            If WorksheetFunction.CountIf(rng, cell.Value) > 1 Then
                If silRng Is Nothing Then
                    Set silRng = cell.EntireRow
                Else
                    Set silRng = Union(silRng, cell.EntireRow)
                End If
            End If
        End If
    Next cell
    If Not silRng Is Nothing Then silRng.Delete
End Sub

Teşekkür ederim. İstediğim sonucu verdi :)
 
Katılım
25 Kasım 2021
Mesajlar
7
Excel Vers. ve Dili
Office 365 2110 64 Bit TR-EN
Bir sorum daha olacak. Address sekmesine tıkladığımda 4 sütunu birden kapsadığı için diğer sütunları silmem gerekiyor makronun çalışması için. Bu sütunlarıda kapsayacak şekilde makro düzeltilebilir mi? Yoksa her seferinde diğer sütunları silerek mi yapmak gerekecek? Linkte sütuna tıkladığımda B-C-D-E sütunlarının hepsini seçtiğini gösteren görsel var.

Örnek Görsel: https://imgyukle.com/i/kq93WU
 
Katılım
25 Kasım 2021
Mesajlar
7
Excel Vers. ve Dili
Office 365 2110 64 Bit TR-EN
Birde bu makroyu daha sonra aynı formatta farklı bir excelde kullanabilmek için hazır hale nasıl getirebilirim. Her seferinde makro oluştur deyip kod yazmadan?
 
Üst