Döngü içerisinde seçili satırın minimum değerini bulma

Katılım
12 Eylül 2020
Mesajlar
174
Excel Vers. ve Dili
365 ev
Arkadaşlar kolay gelsin uzatmadan
araç rotalama problemi için dijkstra algoritması kullanıyorum , seçili bi satırım olacak o satırın sütunları arasında minimum değeri arayıp bulmak istiyorum bir sonraki iterasyonun satırı ise bir öncekinin sütunu olacak (i,j ) ler (j, ...) olacak sonra j. satırda aynı minimum değeri arayacağım daha sonrasında da bulunan değerin hücresini temizleyip sonuna kadar bu şekilde ilerletmek istiyorum fakat seçili satırdaki minimum değeri bulmayı yapamadım yardımcı olabilir misiniz?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi

.
 
Katılım
12 Eylül 2020
Mesajlar
174
Excel Vers. ve Dili
365 ev

.
istediğim şey bu kod değil sadece döngü içerisinde satırın minimum değerini bulmak istiyorum benim kullandığım yapıya uymuyor attığınız algoritma
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aradığınız komut bu olabilir mi?

C++:
Deger = WorksheetFunction.Min(Selection)
 
Katılım
12 Eylül 2020
Mesajlar
174
Excel Vers. ve Dili
365 ev
selection nu belirlemek için bir döngü kullanıyorum aslında tam olarak bi range belirlemiyorum sadece arama yaptığım satıra gelince o satırdaki minimum değeri bulmak istiyorum yani spesifik bir range yi bu döngüde nasıl belirlerim bilmiyorum
i. satırdaki minimum değerimi bulduktan sonra i,j hücresini silip j. satıra atlamam gerekiyor döngü tüm dolu hücreleri silene kadar devam etmek zorunda
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu durumda örnek dosya paylaşınız.
 
Katılım
12 Eylül 2020
Mesajlar
174
Excel Vers. ve Dili
365 ev
Kod:
Set Range = Sheets("sayfa4").Range("Bi:Ki")
Dim a As Integer
a = 0
    For i = 4 To i + 1
        For j = i + 1 To 11
            If Sheets("sayfa4").Cells(i, j) > 0 And Sheets("sayfa4").Cells(i, j) = Application.WorksheetFunction.Min(Range) Then
                a = a + 1
                Sheets("sayfa4").Cells(i, j).ClearContents
                Sheets("sayfa4").Cells(15 + a, 1) = i
                Sheets("sayfa4").Cells(15 + a, 2) = j
               
           
                    i = j - 1
            End If
        Next j
    Next i
And Sheets("sayfa4").Cells(i, j) = Application.WorksheetFunction.Min(Range)
tam bu kısım seçili olan satırın minimum değerini aramakla görevlendirmek istiyorum ama beceremedim

dosya paylaşımını bulamadığım için bu şekilde cevap verebildim
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Öncelikle, kullandığınız değişkeni "Range" değil, "xRng" gibi bir isimle değiştirin çünkü "Range" Excel için "özel" bir ifadedir.

.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Aktif sayfada C4:J4 aralığına muhtelif değerler girdikten sonra, denemek için aşağıdaki ufak kodu çalıştırın. Eğer işinize yarıyorsa, kendi kodunuzu gözden geçirip uyarlamaya çalışın.

Kod:
Sub Test()
    Dim xRng As Range
    Set xRng = Range("C4:J4")
    MsgBox Application.Min(xRng)
End Sub
.
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,514
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Merhaba

Yukardaki mesajları inceleyince kendimce 20 x 20 lik bir tabloda Dijkstra Algoritması üreten program yazdım.
Belki Dijkstra Algoritması mantığı farklıdır fakat mesajlardan anladığım kadarıyla yaptım.
Belki bir fikir verebilir.

Kolay Gelsin. Selamlar...

 

Ekli dosyalar

Katılım
12 Eylül 2020
Mesajlar
174
Excel Vers. ve Dili
365 ev
Aktif sayfada C4:J4 aralığına muhtelif değerler girdikten sonra, denemek için aşağıdaki ufak kodu çalıştırın. Eğer işinize yarıyorsa, kendi kodunuzu gözden geçirip uyarlamaya çalışın.

Kod:
Sub Test()
    Dim xRng As Range
    Set xRng = Range("C4:J4")
    MsgBox Application.Min(xRng)
End Sub
.
yaklaşım biçimi doğru fakat ("c4:j4) ifadesinde 4 değerleri sürekli değişebilir olabilmesi lazım bunu çözebilirsem problemde çözülmüş demektir
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Artık işin o kısmı size ait ...

.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu şekilde olabilir mi?

C++:
Application.WorksheetFunction.Min(Sheets("sayfa4").Range("B" & i & ":K" & i))
 
Katılım
12 Eylül 2020
Mesajlar
174
Excel Vers. ve Dili
365 ev
Bu şekilde olabilir mi?

C++:
Application.WorksheetFunction.Min(Sheets("sayfa4").Range("B" & i & ":K" & i))
evet teşekkür ederim işe yaradı kodu biraz güncelledim ama şuan başka ve daha büyük bir problemle karşı karşıyayım :D
 
Üst