Dolgu rengi siyah olanların içeriğini silmek.

Katılım
22 Mart 2005
Mesajlar
847
Excel Vers. ve Dili
Excel-2003 TR.
Altın Üyelik Bitiş Tarihi
29-06-2023
Arkadaşlar merhaba;

Aşağıdaki kodlar ile dolgu rengi siyah olan satırları sildirebiliyorum.
Peki satıra dokunmadan dolgu rengi siyah olan hücrelerin içeriğini sildirebilirmiyim?
(Kullandığım tablolarda dolgu rengi siyah olanların içeriğinde bazen 0 (sıfırlar) olabiliyor.
Bunları silmek istiyorum. Her tabloda yerleri ayni değil)

Sub renklisatirsil()
Dim hucre, a As Integer
a = ActiveSheet.UsedRange.SpecialCells(xlLastCell).Row
For hucre = a To 1 Step -1
If Cells(hucre, 1).Interior.ColorIndex = 1 Then
Cells(hucre, 1).EntireRow.Delete
End If
Next
End Sub
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
Zannedersem Aşagıdaki Kod işinizi görür.

A kolonu için geçerlidir.

Kod:
Sub siyahsil()
For x = 2 To [a65536].End(3).Row
    If Cells(x, 1).Interior.ColorIndex = 1 Then
    Range("a" & x).ClearContents
End If
Next

End Sub
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Cells(hucre, 1).EntireRow.Delete

Satırını

Cells(hucre, 1).EntireRow.ClearContents

şeklinde değiştirin.
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Ctrl+H ye basın sonrada seçenekler i tıklatın kod yazmanıza gerek yok.
 
Katılım
22 Mart 2005
Mesajlar
847
Excel Vers. ve Dili
Excel-2003 TR.
Altın Üyelik Bitiş Tarihi
29-06-2023
Merhaba;
Konuya ilişkin örnek dosya ekte..Maalesef her iki kodda istediğimi yapmıyor.

Sayin Alpi Ctrl+H seçeneklerden nasıl yapacağız bu işi..
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Ctrl+H ye basın Seçenkleri tuklatın

Aranan değer için Biçim i tıklatın Desenler tabından Renk olarak Siyah ı seçin Tamam ı tıklatın En son Tümünü değiştir i tıklatın
 

Erkan Akayay

Altın Üye
Katılım
8 Aralık 2006
Mesajlar
405
Excel Vers. ve Dili
Ofis 365 TR 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2028
Sub Temizle()
Dim hucre As Range
For Each hucre In ActiveSheet.UsedRange
If hucre.Interior.ColorIndex = 1 Then
hucre.ClearContents
End If
Next
End Sub
 
Katılım
22 Mart 2005
Mesajlar
847
Excel Vers. ve Dili
Excel-2003 TR.
Altın Üyelik Bitiş Tarihi
29-06-2023
Sn. Erkan Akayay;

Kodlar için teşekkür ederim.
 
Katılım
25 Mart 2019
Mesajlar
3
Excel Vers. ve Dili
tr,2016
peki örnekteki sarı dolgulu ve hücre içi değeri 8 olanları sil sadece deseydik macro kodumuz ne olurdu üstadlarım tesekkur ederım emeklerinize.
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
499
Excel Vers. ve Dili
Excel Vers. ve Dili : Ofis 2016 Tr
Altın Üyelik Bitiş Tarihi
13.09.2027
Deneyiniz,

Sub Dene1() 'Hücre içi hem 8 ve hemde arka planları sarı ise hücre içeriğini siler
For x = 2 To [a65536].End(3).Row
If Cells(x, 1) = 8 And Cells(x, 1).Interior.ColorIndex = 6 Then
Range("a" & x).ClearContents
End If
Next
End Sub

Sub Dene2() 'Hücre içi 8 ve arka planları sarı olanların içini siler
For x = 2 To [a65536].End(3).Row
If Cells(x, 1) = 8 Then
Range("a" & x).ClearContents
End If
If Cells(x, 1).Interior.ColorIndex = 6 Then
Range("a" & x).ClearContents
End If
Next
End Sub
 
Son düzenleme:
Katılım
25 Mart 2019
Mesajlar
3
Excel Vers. ve Dili
tr,2016
Deneyiniz,

Sub Dene1() 'Hücre içi hem 8 ve hemde arka planları sarı ise hücre içeriğini siler
For x = 2 To [a65536].End(3).Row
If Cells(x, 1) = 8 And Cells(x, 1).Interior.ColorIndex = 6 Then
Range("a" & x).ClearContents
End If
Next
End Sub

Sub Dene2() 'Hücre içi 8 ve arka planları sarı olanların içini siler
For x = 2 To [a65536].End(3).Row
If Cells(x, 1) = 8 Then
Range("a" & x).ClearContents
End If
If Cells(x, 1).Interior.ColorIndex = 6 Then
Range("a" & x).ClearContents
End If
Next
End Sub
çok tesekkur ederım sadece 1.sini denedim çalıştı evet fakat tabloda istediğim birden fazla sütun oldugunda ne yapabilirim.
ben bunu denedim olmadı hepsını sildi;

Sub Dene1() 'Hücre içi hem 8 ve hemde arka planları sarı ise hücre içeriğini siler
For x = 2 To [a65536].End(3).Row
If Cells(x, 1) = 8 And Cells(x, 1).Interior.ColorIndex = 6 Then
Range("a2:c11" & x).ClearContents
End If
Next
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Range("A2:C100") aralığını ihtiyacınıza göre revize edebilirsiniz. O bölüme Selection yazarsanız mouse ile seçtiğiniz hücrelerde kod çalışacaktır.

C++:
Option Explicit

Sub Cells_ClearContents()
    Dim Rng As Range
    
    Application.ScreenUpdating = False
    
    For Each Rng In Range("A2:C100")
        If Rng.Value = 8 And Rng.Interior.ColorIndex = 6 Then Rng.ClearComments
    Next
    
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
25 Mart 2019
Mesajlar
3
Excel Vers. ve Dili
tr,2016
Deneyiniz.

Range("A2:C100") aralığını ihtiyacınıza göre revize edebilirsiniz. O bölüme Selection yazarsanız mouse ile seçtiğiniz hücrelerde kod çalışacaktır.

C++:
Option Explicit

Sub Cells_ClearContents()
    Dim Rng As Range
   
    Application.ScreenUpdating = False
   
    For Each Rng In Range("A2:C100")
        If Rng.Value = 8 And Rng.Interior.ColorIndex = 6 Then Rng.ClearComments
    Next
   
    Application.ScreenUpdating = True
   
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Süpersiniz üstadlar iyiki varsınız.👏 Hayırli güzel mutlu bayramlar dilerim.
 
Üst