Filtreli veride, yalnızca görünen satırlara işlem yapma

Katılım
29 Ocak 2024
Mesajlar
222
Excel Vers. ve Dili
Office 2016
Kıymetli Hocalarım merhaba;

Veri filtreli iken, yalnızca görünen satırlarda veri değiştirmek mümkün müdür?

özetle aşağıdaki kod sadece görünen satırlarda çalışacak

Kod:
Sub Degistir()

Dim i As Long
Dim LastRow As Long

LastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row

    For i = 2 To LastRow
    
        If ActiveSheet.Cells(i, "E") Like "Bekliyor" Then
            ActiveSheet.Cells(i, "E") = "Ödendi"
        End If
        
    Next i

End Sub
yardımlarınız için şimdiden teşekkürler,
iyi Çalışmalar dilerim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,555
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Deneyiniz.
Kod:
Sub Degistir()
    Dim Bak As Long
    For Bak = 2 To ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
        With ActiveSheet.Cells(Bak, "E")
            If .Text Like "Bekliyor" And Not .EntireRow.Hidden Then
                .Value = "Ödendi"
            End If
        End With
    Next
End Sub
 

Korhan Ayhan

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

Döngüsüsüz alternatif...

C++:
Option Explicit

Sub Replace_Data()
    Range("E2:E" & Rows.Count).SpecialCells(xlCellTypeVisible).Replace _
    What:="*Bekliyor*", Replacement:="Ödendi", LookAt:=xlWhole
End Sub
 
Katılım
29 Ocak 2024
Mesajlar
222
Excel Vers. ve Dili
Office 2016
Merhaba.
Deneyiniz.
Kod:
Sub Degistir()
    Dim Bak As Long
    For Bak = 2 To ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
        With ActiveSheet.Cells(Bak, "E")
            If .Text Like "Bekliyor" And Not .EntireRow.Hidden Then
                .Value = "Ödendi"
            End If
        End With
    Next
End Sub
Teşekkürler Muzaffer Hocam
 
Katılım
29 Ocak 2024
Mesajlar
222
Excel Vers. ve Dili
Office 2016
Merhaba,

Döngüsüsüz alternatif...

C++:
Option Explicit

Sub Replace_Data()
    Range("E2:E" & Rows.Count).SpecialCells(xlCellTypeVisible).Replace _
    What:="*Bekliyor*", Replacement:="Ödendi", LookAt:=xlWhole
End Sub
Teşekkürler Korhan Hocam,
iyi çalışmalar.
 
Katılım
12 Aralık 2015
Mesajlar
1,231
Excel Vers. ve Dili
Türkçe Ofis 2007
Alternatif
Kod:
Sub Makro1()
Range("E2:E" & Cells(Rows.Count, 1).End(3).Row).SpecialCells(xlCellTypeVisible).Value = "Ödendi"
End Sub
 
Üst