Karşılık Gelen Değeri Bulmak.

Katılım
24 Nisan 2005
Mesajlar
3,672
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Burada bir çeşit tezgah yükleme programı yapmak istiyorum. "Çakışma" sutundaki sayı 2 den büyükse, bunun sebebi 27 ve 28. satır numarasındaki sayıların aynı aralıkta olmasından yani tezgahların çakışmasından kaynaklanıyor.
Bense şunu yapmak istiyorum. Bu çakışma olduğunda yani değer 2 den büyükse bunun hangi operasyon numarasından kaynaklandığının yanındaki hücreye yazmasını istiyorum.
NOT: Birden fazla çakışma olabilir.
Şimdiden teşekkür ederim.
Kolay Gelsin...
26. satırda 3 değeri var. Formüllere baktığımızda bu değerden büyük yada eşit olanlar deniyor bu koşulu sağlayan birden falza operasyon var. Hangisnin numarası yazılacak.

Bu 3 rakamı bulunurken hem C hemde D kolonundaki değerler taranıyor sonra çıkan sonuç bir birinden çıkarılarak bulunuyor.

Aradığımız operasyon kodu hangi olmalı, detaylı bir örnek verebilir misiniz?
 
Katılım
24 Nisan 2005
Mesajlar
3,672
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
İlk mesajınızdaki tablo ile sağlıklı çalışmıyor. Belki o tabloda değerleri düzgün olmayabilir. Yada kod yanlış çalışıyordur.

İkinci gönderdiğiniz tablo ile uyumlu ve aynısonucu veriyor.

Başlık 1. satırda veriler 2. satırdan başlamalı.
Program çakışma sayılarına bakmıyor. Kendi mantığı ile çakışma tespit ediyor.

Kontrol ediniz.


http://www.dosyaupload.com/J0b

Kod:
Sub Tezgah_kontrol()
  sonsatir = Cells(Rows.Count, "A").End(3).Row
  For i = 2 To sonsatir
     igiris = Cells(i, 3)
     icikis = Cells(i, 4)
     ioperasyon = Cells(i, 1)
    
     For j = 2 To sonsatir
       jgiris = Cells(j, 3)
       jcikis = Cells(j, 4)
       joperasyon = Cells(j, 1)
       
       If igiris >= jgiris And icikis <= jcikis And i <> j Then
           Cells(i, 6).Value = joperasyon
       End If
      Next j
  Next i
End Sub
 
Son düzenleme:
Katılım
2 Kasım 2007
Mesajlar
43
Excel Vers. ve Dili
Türkçe office 2003
Altın Üyelik Bitiş Tarihi
20/09/2018
İlk mesajınızdaki tablo ile sağlıklı çalışmıyor. Belki o tabloda değerleri düzgün olmayabilir. Yada kod yanlış çalışıyordur.

İkinci gönderdiğiniz tablo ile uyumlu ve aynısonucu veriyor.

Başlık 1. satırda veriler 2. satırdan başlamalı.
Program çakışma sayılarına bakmıyor. Kendi mantığı ile çakışma tespit ediyor.

Kod:
       If igiris >= jgiris And icikis <= jcikis And i <> j Then
           Cells(i, 6).Value = joperasyon
       End If
Kontrol ediniz.


Kod:
Sub Tezgah_kontrol()
  sonsatir = Cells(Rows.Count, "A").End(3).Row
  For i = 2 To sonsatir
     igiris = Cells(i, 3)
     icikis = Cells(i, 4)
     ioperasyon = Cells(i, 1)
    
     For j = 2 To sonsatir
       jgiris = Cells(j, 3)
       jcikis = Cells(j, 4)
       joperasyon = Cells(j, 1)
       
       If igiris >= jgiris And icikis <= jcikis And i <> j Then
           Cells(i, 6).Value = joperasyon
       End If
      Next j
  Next i
End Sub
[/QUOTE


İlginiz için teşekkürler. Ancak ben kod kullanmayı bilmiyorum. Bunun formüllerle yapılma durumu var mı acaba?
 
Katılım
24 Nisan 2005
Mesajlar
3,672
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Formül ile çözüm sunacak arkadaşlar olabilir.

Makro için dosya mesajıma eklendi.

Tabloyu güncelleyip KONTROL butonuna basınız.
 
Üst