• DİKKAT

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

Minimuma en yakın sayı ve bulma formu

Katılım
7 Temmuz 2004
Mesajlar
48
Merhaba,

A2:a10 arasında çeşitli sayılar var,Bu sayıların en küçüğüne yakın bir sayı nasıl formullendirilir veya makro yazılabilirmi acaba? Ã?rneğin : en küçük sayı 4.2 olsun ...kodla bunun 0.1 altı yani 4.1 otomatik bulunabilirmi?

Ekteki Excel kitabında sayfa 1 de formu açtığımda combox.1 den rakam seçtiğimde ve bul dediğimde listbox1.da istenilen rakamın sağındaki sütunda bulunan verileri gösteremedim.Yardımcı olacak arkadaşlara şimdiden sevgi-teşekkür ve selamlar

Bu arada bu güzel forumu oluşturan ve yardımcı olam moderator arkadaşlara teşekkürlerimi sunmak isterim.
 
2 ayrı sorum var demeyi unutmuşum.
Ã?zür dilerim.

1.soru : minimum sayı bulma idi.
2.ncisi ise userform'dan veri bulmak konusundaydı.
 
Birinci sorunuz için aşağıdaki formülü kullanın.

=KÜÇÜK(A1:A10;2)

İkinci sorunuz içinde ekteki dosyayı inceleyin. Yalnız burada listboxun sütun genişliklerini yarlamanız gerekecektir. Bunun için userform initialize olayına aşağıdaki gibi bir satır ekleyin ve satırdaki sayıları değiştirerek sütun genişliklerini ayarlayın. Ayrıca comboboxa veri almak içinde userforma bir kod ilave ettim.

[vb:1:01c8a8e4fa]ListBox1.ColumnWidths = "50;50;50;50;50;50;50;50;50;50;50"
[/vb:1:01c8a8e4fa]
 
Sn LeventM

Cevabınız için çok teşekkürler.

Cevabınızı okuduktan sonra

1.nci sorumun yanlış sorduğumu
2.nci sorumda ise yine benden kaynaklanan bir problem olduğunu anladım.

Sırasıyla,

1nci sorumda en düşük değere yakın derken ..diyelimki en düşük değer 3 olsun...buna eşit veya eksiği (0.1 veya 0.2 gibi) demem gerekiyordu.yani formulu uyguladığımda muhakkak bulunan en düşük değerin altında veya eşit bir rakam bulmam gerekiyor.

2.nci sorumda ise : benim istediğim şeyin tablo açısından uygun olmadığını farkettim.Ek'teki dosyada istediğim şeyi yazdım aslında 3 kolon benim için yetiyor...sorun A kolonunda aynı değerde birden fazla rakam olabilir ve bunun karşılıkları B ve C kolonunda farklı olabilir.BUL dendiğinde sırayla listbox'da bu değerler sıralanabilirmi?

Tekrar Teşekkürlerimi sunarım.
 
Merhaba

Ekli dosyayı göndermeyi unutmuşum.Bugün kafam çok dalgın..herkesden özür...
 
1nci sorumda en düşük değere yakın derken ..diyelimki en düşük değer 3 olsun...buna eşit veya eksiği (0.1 veya 0.2 gibi)

Birinci sorunuzda bir çelişki var ya en küçük değer bulunmalı yada en küçük ikinci değer bulunmalı. Sorunuzu; en küçük değerin 0,1 veya 0,2 küçüğü varsa bu değeri yoksa en küçük değeri bulsun şeklinde anlayarak aşağıdaki formülü öneriyorum.

=EÐER(YADA(MİN(A2:A10)-0,1=KÜÇÜK(A2:A10;2);MİN(A2:A10)-0,2=KÜÇÜK(A2:A10;2));KÜÇÜK(A2:A10;2);MİN(A2:A10))

İkinci sorunuz için ekteki örneği inceleyin.
 
Unutmadım. Mesajımı birinci sorunuz için editle düzeltiyordum.
 
Sn LeventM

hakkınızı helal edin...sizi çok yordum gerçekten...son olarak gönderdiğiniz dosya tıkır tıkır çalışıyor...Burada son kez şunu isteyeceğim...2-3-4 nolu sütunlar değilde 9-10-11 nolu sutun verilerini listboxda nasıl görebilirim.

Ek'te dosyayı gönderdim.

Not : Birde verileri 5000 satıra kadar artırtığımda userform biraz geç açılıyor.İnitialize ile ilgili olabilirmi?

Çok Çok teşekkürler
 
For b = 2 To 4

Combo içindeki kodda bulunan yukarıdaki satırı aşağıdaki ile değiştirin.

For b = 9 To 11

Combobaxa veriler userform açılırken alınıyor, veri sayısının fazla olması sebebi ile açılışı uzun sürecektir. Bunun yerine userformu açıp verileri verileri sonradan aldırmakta mümkün fakat bu durumdada yine nyavaş çalışacak ve işlem yapamayacaksınız. Dolayısıyla bunu hızlandıracak kesin bir çözümü bulmak zor.
 
Kodu dediğinizgibi düzenledim ama olmadı.sanırım bir yerde eksik yapıyorum

For b = 9 To 11
ListBox1.AddItem
ListBox1.List(c - 1, b - 2) = Cells(a, b).Value
If IsNumeric(Cells(a, b)) = True Then ListBox1.List(c - 1, b - 2) = Round(Cells(a, b), 0)
Next

Teşekkürler
 
Haklısınız b-2 yazan yerleride b-9 yapın.
 
şimdi oldu..Çalışıyor

teşekkürler...Hakkınızı ödemem gerçekten zor

iyi çalışmalar,

Allah işinizi rast getirsin.
 
Geri
Üst