Soru Yan yana sütunlarda yer alan tutarların en düşük değerlisini seçmek istiyorum. Yardımcı olur musunuz?

Katılım
11 Kasım 2019
Mesajlar
26
Excel Vers. ve Dili
2016 İngilizce
Merhaba,

Ben yan yan sütunlarda yer alan tutarların en düşük değerlisini makro ile bulmak istiyorum. Bunu nasıl yapabilirim? Örnek verecek olursam;

a1=20 b1= 23 c1= 40 d1= 50

a2=40 b2= 50 c2= 10 d2 = 83
:
:
:
:

For döngüsü ya da başka bir döngü ile bu bulduğum hücredeki değerleri kullanıp bir işlem daha yapacağım. Temel amacım bu her satırda yan yana bulunan hücrelerdeki tutarların minimumunu bulmak.

Konu hakkında yardımcı olursanız çok teşekkür ederim.

Destekleriniz için şimdiden teşekkür ederim.

Burak
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Deneyiniz.

Kod:
Sub Emr()
    Dim i
    For i = 1 To Cells(Rows.Count, 1).End(3).Row
        MsgBox WorksheetFunction.Min(Range(Cells(i, 1), Cells(i, 4)))
    Next
End Sub
 
Katılım
11 Kasım 2019
Mesajlar
26
Excel Vers. ve Dili
2016 İngilizce
Rica ederim , kolay gelsin.
Bir sorum daha olacak hocam. Talebimi karşılıyor bu yolladığınız ancak worksheetFunction.min ile değil de seçeceğim bir sayfadan seçme şansım var mı bu aralığı ? Ayrıca bu seçimde dolular arasındaki en küçük sayıyı seçmek istiyorum. Bu yolladığınız kod ile belli aralıkta boş hücreleri sıfır kabul ettiğinden minimum olarak 0 aldığım durumlar oluyor. Örnek olarak aşağıda paylaşımda bulunuyorum.

a1=20 b1= 23 c1= 40 d1= 50 f1=72 g1=21

a2=40 b2= 50 c2= 10
:
:
:
:


Örnekten de görüleceği üzere benim datamda bazı sütunlarda değer bulunmamaktadır.

Konu hakkında tekrar yardımlarınızı rica ederim.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Boş olan hücreler boş mu yoksa 0 mı var ? Çünkü boş olan hücreleri dikkate almaz min fonksiyonu o yüzden soruyorum , eğer 0 var ise ona göre farklı bir çözüm bulalım.
Fonksiyonlara sayfa ismini verirsek istediğiniz sayfadan alır, sayfa ismi ve aralığı verirseniz ona göre düzenlerim.
 
Katılım
11 Kasım 2019
Mesajlar
26
Excel Vers. ve Dili
2016 İngilizce
Boş olan hücreler boş mu yoksa 0 mı var ? Çünkü boş olan hücreleri dikkate almaz min fonksiyonu o yüzden soruyorum , eğer 0 var ise ona göre farklı bir çözüm bulalım.
Fonksiyonlara sayfa ismini verirsek istediğiniz sayfadan alır, sayfa ismi ve aralığı verirseniz ona göre düzenlerim.


Hücrem normalde boş ancak sizin dediğiniz gibi boşlar dikkate alınmıyorsa ben fonksiyona isim vermeliyim ancak bunu nasıl yapacağım ? Veri sayfasında yer alan değerler bu tablodakiler. WorksheetFunction("Veri").Min(Range(Cells(i, 5), Cells(i, 10))) yaptım ancak olmadı.

Nasıl çözebilirim ? Yardımcı olursanız sevinirim.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Eğer boş dediğiniz alanlarda 0 değeri varsa aşağıdaki gibi deneyebilirsiniz.
Kod:
Sub Emr()
    Dim i
    For i = 1 To Cells(Rows.Count, 1).End(3).Row
        MsgBox WorksheetFunction.Small(Range(Cells(i, 1), Cells(i, 4)), WorksheetFunction.CountIf(Range(Cells(i, 1), Cells(i, 4)), 0) + 1)
    Next
End Sub
 
Katılım
11 Kasım 2019
Mesajlar
26
Excel Vers. ve Dili
2016 İngilizce
Eğer boş dediğiniz alanlarda 0 değeri varsa aşağıdaki gibi deneyebilirsiniz.
Kod:
Sub Emr()
    Dim i
    For i = 1 To Cells(Rows.Count, 1).End(3).Row
        MsgBox WorksheetFunction.Small(Range(Cells(i, 1), Cells(i, 4)), WorksheetFunction.CountIf(Range(Cells(i, 1), Cells(i, 4)), 0) + 1)
    Next
End Sub
Ben minimum durumunu kontrol ettiğim datayı bir çok sayfa olan excel dosyamda Veri sayfasındaki verileri kontrol ederek elde ediyorum. Dolayısıyla fonksiyona Veri ismini vermem gerektiğini düşünüyorum. Bunu beceremedim bir türlü.
 
Katılım
11 Kasım 2019
Mesajlar
26
Excel Vers. ve Dili
2016 İngilizce
Boş olan hücreler boş mu yoksa 0 mı var ? Çünkü boş olan hücreleri dikkate almaz min fonksiyonu o yüzden soruyorum , eğer 0 var ise ona göre farklı bir çözüm bulalım.
Fonksiyonlara sayfa ismini verirsek istediğiniz sayfadan alır, sayfa ismi ve aralığı verirseniz ona göre düzenlerim.
Sayfa ismi "Veri" aralığım ise (i. Satır, 21.Sütun) ile (i.Satır, 58.Sütun)
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,524
Excel Vers. ve Dili
Office 365 Türkçe
Bu şekilde yaptım ama veri aralığını ayarlarsınız, kodda 4 yazan yerler 4. sütunu ifade ediyor.
Kod:
Sub Emr()
    Dim i
    For i = 1 To Sheets("Veri").Cells(Rows.Count, 1).End(3).Row
        MsgBox WorksheetFunction.Min(Sheets("Veri").Range(Sheets("Veri").Cells(i, 1), Sheets("Veri").Cells(i, 4)))
    Next
End Sub
Sub Emr1()
    Dim i 'Eğer 0 değeri varsa
    For i = 1 To Sheets("Veri").Cells(Rows.Count, 1).End(3).Row
        MsgBox WorksheetFunction.Small(Sheets("Veri").Range(Sheets("Veri").Cells(i, 1), Sheets("Veri").Cells(i, 4)), WorksheetFunction.CountIf(Sheets("Veri").Range(Sheets("Veri").Cells(i, 1), Sheets("Veri").Cells(i, 4)), 0) + 1)
    Next
End Sub
 
Katılım
11 Kasım 2019
Mesajlar
26
Excel Vers. ve Dili
2016 İngilizce
Bu şekilde yaptım ama veri aralığını ayarlarsınız, kodda 4 yazan yerler 4. sütunu ifade ediyor.
Kod:
Sub Emr()
    Dim i
    For i = 1 To Sheets("Veri").Cells(Rows.Count, 1).End(3).Row
        MsgBox WorksheetFunction.Min(Sheets("Veri").Range(Sheets("Veri").Cells(i, 1), Sheets("Veri").Cells(i, 4)))
    Next
End Sub
Sub Emr1()
    Dim i 'Eğer 0 değeri varsa
    For i = 1 To Sheets("Veri").Cells(Rows.Count, 1).End(3).Row
        MsgBox WorksheetFunction.Small(Sheets("Veri").Range(Sheets("Veri").Cells(i, 1), Sheets("Veri").Cells(i, 4)), WorksheetFunction.CountIf(Sheets("Veri").Range(Sheets("Veri").Cells(i, 1), Sheets("Veri").Cells(i, 4)), 0) + 1)
    Next
End Sub
Hocam çok sağol. Gerçekten çok makbule geçti. Emeğine sağlık!
 
Üst