• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Geriye doğru for next döngüsü

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,065
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
bildiğimiz gibi for next döngüsü ile istediğimiz sayıları küçükten büyüğe olmak üzere bir değişkene atayıp işlem yaptırabiliyoruz. Hatta step argümanıyla artışı istediğimiz aralıkla da yaptırabiliyoruz.

Peki for next döngüsünü küçükten büyüğe değil de büyükten küçüğe yapabilir miyiz?

Örneğin aşağıdaki kodlarla A sütununa bir plak girdiğimde o plaka için son girmiş olduğum veriyi getirmesini sağlamaya çalışıyorum ama olmuyor. Var mıdır bunun bir yolu?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A2:A65536]) Is Nothing Then Exit Sub 'A2:A sütununda çalışmasını istiyorum
For i = Cells(Rows.Count, 2).End(xlUp).Row To 2 'b sütunundaki son dolu hücreye göre sınır belirliyorum. Buraya step -1 denedim ama olmadı
If Target = Cells(i, 1) Then ' geriye doğru tarama yapıp girdiğim plakanın aynısı varsa
Cells(i + 1, "f") = Cells(i, "g") 'karşısındaki değeri getirmesini istiyorum
GoTo son 'eğer şart gerçekleşirse makro sonlansın, gerçekleşmezse devam etsin
End If
Next
son:
End Sub
 
Teşekkürler.

Onu denemiştim ve aslında çalışıyormuş ama ben kodun geri kalanını yanlış oluşturmuşum. Acemilik işte :(

İşlemi target.offset olarak yaptırmam gerekirken i'ye bağlamışım o da doğal olarak istediğim satırda değil i'nin satırında işlem yapıyormuş.

Bugün de yeni bir şey öğrendik, eyvallah.
 
Geri
Üst