• DİKKAT

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

Excel Vba kodu işlerken çalışmayı durduruyor

Katılım
12 Eylül 2020
Mesajlar
176
Excel Vers. ve Dili
365 ev
Arkadaşlar kolay gelsin sorunu bir türlü anlamıyorum Run ettiğimde çalışmayı durduruyor kodu aşağı bırakıyorum
Kod:
Dim a As Integer
Dim i As Long
Dim j As Long
Dim xrange2 As Range
a = 0

Dim b As Integer
b = 0
Dim i2 As Integer
Dim j2 As Integer
 For i2 = 1 To 10
    For j2 = 1 To 10
        If Sheets("sayfa4").Cells(i2, j2) > 0 Then
            b = b + 1
        End If
    Next j2
 Next i2
 While b > 0
 i = Sheets("sayfa4").Cells(12, 1)
 
    Set xrange2 = Sheets("sayfa4").Rows(i)
            For j = 1 To 10
            
    
                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
                        b = b - 1
                        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
                        b = b - 2
                        Sheets("sayfa4").Cells(15 + a, 1) = i
                        Sheets("sayfa4").Cells(15 + a, 2) = j
                    
                    End If
                                
                End If
                
                Sheets("sayfa4").Cells(12, 1) = j
                
            Next j
       Wend
 
Kodu VBA editöründeyken F8 tuşu ile adım adım çalıştırıp nerede sorun olduğunu tespit edebilirsiniz.
 
Döngüde i = 8 olduğunda bu durum için j bulamadığını ve sonsuz döngüye girdiğini fark ettim fikriniz var mı acaba?
if statement true olarak çıkmasına rağmen içine girmeden dışardaki end if e atlıyor sebebini bilmiyorum
 
Son düzenleme:
Bu durumda araya koşul ekleyip i değerini 8 değerinden kurtarın. Ya da i değeri 8 olduğunda farklı bir yönlendirme yapmayı deneyin.
 
Bu durumda araya koşul ekleyip i değerini 8 değerinden kurtarın. Ya da i değeri 8 olduğunda farklı bir yönlendirme yapmayı deneyin.
diğer statementler için sıkıntı çıkarmıyor i=10 j =1 veya tam tersi gibi ama 8 ,7 olduğunda nedense true demesine rağmen if in içine girmeden çıkıyor
 
çözüldü konu kapatılabilir
 
Geri
Üst