Kod:
Dim listesutun()
ReDim listesutun(sutun * sutun)
Dim b As Integer
b = Sheets("sayfa1").Cells(satir, sutun - 1)
For i = 1 To Sheets("sayfa3").UsedRange.Rows.Count
listesatir(i) = Sheets("sayfa3").Cells(i, 1)
listesutun(i) = Sheets("sayfa3").Cells(i, 2)
Next i
While b > 0
For j = 1 To (satir - 1)
i = Sheets("sayfa3").Cells(1, 3)
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 = listesatir(i) And j = listesutun(i)) Or (i = listesutun(i) And j = listesatir(i)) Then
a = a + 1
Sheets("sayfa5").Cells(a, 1) = i
Sheets("sayfa5").Cells(a, 2) = j
tpu = tpu + Sheets("sayfa4").Cells(i, j)
Sheets("sayfa4").Cells(i, j).ClearContents
b = b - 1
Else
a = a + 1
Sheets("sayfa5").Cells(a, 1) = i
Sheets("sayfa5").Cells(a, 2) = j
tpu = tpu + Sheets("sayfa4").Cells(i, j)
Sheets("sayfa4").Cells(i, j).ClearContents
Sheets("sayfa4").Cells(j, i).ClearContents
b = b - 2
End If
Sheets("sayfa3").Cells(1, 3) = j
End If
Next j
Wend
şimdi burdaki temel sorun şu listeye atarken i ve j listesi şeklinde oluşturuyorum dikkat ederseniz yani satır ve sütun olarak 2 ayrı liste var
bu listeyi arama algoritmasında ayrı bi değişkenle aramıyorum sadece yine i ile arıyorum 2 sinde de i ile aramamın sebebi 2 listenin de i. elemanları bir eşleşmeyi temsil ediyor ve bu eşleşme denk geldiğinde çalışsın istiyorum ama gel gelelim benim listem bazı durumlarda i den kısa oluyor ve bu durumda if şartları false olarak gösteriyor ve yanlış çalışıyor
benim bu durumdan kurtulmam için ne yapmam lazım nasıl bir liste tutabilirim
yine benzer bir liste tutup listesatir ve listesutun un elamanlarını denk getirmem mümkün mü
eğer içinde var mı diye bakarsam doğru olmaz çünkü özel durum söz konusu x,y denk geldiğinde ya da y,x denk geldiğinde çalışmalı
istediğim