Çözüldü makro işlem uzun sürüyor

Katılım
24 Nisan 2023
Mesajlar
38
Excel Vers. ve Dili
2016
Merhabalar
forumlardan youtubeden makroyu öğrenmeye çalışıyorum izlediklerimden birşeyler yapmaya çalıştım ama işlem çok uzun sürüyor
yapmaya çalıştığım
örnek1 de ki butona basınca 4ncü satırdan itibaren B sütunu boş ise yada "tarih" yazıyor ise A sütunu boş kalacak eğer tarih yazılı ise "." nokta işareti bırakacak

yardımcı olabilirseniz sevinirim



Sub nokta()

For i = 4 To 1600
If Cells(i, "b") = "" Or Cells(i, "b") = "tarih" Then
Cells(i, "a") = ""
Else
Cells(i, "a") = "."
End If
Next i
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Sizin kodlara istinaden :

Kod:
Sub nokta()

Dim i   As Long
Dim lr  As Long

lr = Cells(Rows.Count, "B").End(3).Row

Application.ScreenUpdating = False

Range("A4:A" & lr).ClearContents

For i = 4 To lr
    If Cells(i, "B") <> "" And Cells(i, "B") <> "tarih" Then Cells(i, "A") = "necdet"
Next i
    
Application.ScreenUpdating = True

End Sub
 
Katılım
24 Nisan 2023
Mesajlar
38
Excel Vers. ve Dili
2016
Merhaba,
Sizin kodlara istinaden :

Kod:
Sub nokta()

Dim i   As Long
Dim lr  As Long

lr = Cells(Rows.Count, "B").End(3).Row

Application.ScreenUpdating = False

Range("A4:A" & lr).ClearContents

For i = 4 To lr
    If Cells(i, "B") <> "" And Cells(i, "B") <> "tarih" Then Cells(i, "A") = "necdet"
Next i
  
Application.ScreenUpdating = True

End Sub
hocam elinize sağlık çok teşekkür ederim
bilmediğimden soruyorum mantığını kısaca tarif etme imkanınız var mı ne olduda hızlandı :)
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,359
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Ben sadece sizin 2 olasılıklı If'inizi teke indirdim.
Baştan A sütununu sildirdim, sonra B sütunundaki şarta göre A sütununa yazdırdım. Hepsi bu.
Kod daha da hızlanır ama onu da kodlara iyice alıştıktan sonra yapabilirsiniz.
Dizi ile çözüm de var, bu daha hızlıdır.
Şimdilik bu olayı geçelim derim.
 
Üst