Vba da for i = .. için i değerini güncellemek

Katılım
12 Eylül 2020
Mesajlar
174
Excel Vers. ve Dili
365 ev
Kolay gelsin arkadaşlar problemimde son evreye geldim fakat çözemedim yardımcı olur musunuz
problemde sırayla iki nokta arasındaki yolları gidiyorum yani a-b, b-c, c-d şeklinde gitmem gerekiyor bu yüzden problemin içindeki i değerini ilk iterasyonda i = a , j =b iken
ikinci iterasyonda i =b olarak güncellemem ve döngüyü bu şekilde sona kadar götürmem gerekiyor , döngünün sonlanması değer içeren hücre kalmayana kadar devam etsin şeklinde ayarlamaya çalıştım ama fikirlerinize açığım
Kod:
Dim a As Integer
Dim i As Long
Dim j As Long
Dim xrange2 As Range
a = 0
Dim b As Integer
Dim c As Integer
c = Sheets("sayfa4").Cells(12, 1)

    While b > 0
        for i = c to  'buraya ne gelmesi gerektiğini bulamadığımdan boş bıraktım aklıma gelen şey 'i =c to c+1'
            For j = 1 To 10
            i = Sheets("sayfa4").Cells(12, 1)
     Set xrange2 = Sheets("sayfa4").Rows(i)
                If Sheets("sayfa4").Cells(i, j) > 0 And Sheets("sayfa4").Cells(i, j) = Application.WorksheetFunction.Min(xrange2) Then
                    If (i = 1 And j = 10) Or (i = 2 And j = 9) Or (i = 7 And j = 8) Or (i = 10 And j = 1) Or (i = 9 And j = 2) Or (i = 8 And j = 7) Then
                        a = a + 1
                        Sheets("sayfa4").Cells(i, j).ClearContents
                       
                        Sheets("sayfa4").Cells(15 + a, 1) = i
                        Sheets("sayfa4").Cells(15 + a, 2) = j
                   
                    Else
                       
                        a = a + 1
                        Sheets("sayfa4").Cells(i, j).ClearContents
                        Sheets("sayfa4").Cells(j, i).ClearContents
                        Debug.Print a
                        Debug.Print Sheets("sayfa4").Cells(i, j).ClearContents
                        Debug.Print Sheets("sayfa4").Cells(j, i).ClearContents
                        Sheets("sayfa4").Cells(15 + a, 1) = i
                        Sheets("sayfa4").Cells(15 + a, 2) = j
                   
                    End If
               
                     
                End If
               
                Sheets("sayfa4").Cells(12, 1) = j
                Exit For
            Next j
 
Üst