• DİKKAT

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

Yinelenen değerler ve bağlı hücre içeriği

Katılım
16 Nisan 2016
Mesajlar
17
Excel Vers. ve Dili
Office plus 2016
Merhabalar başlıkta tam olarak anlatmak istediğimi yansıtamadım kısaca özet geçeyim. Bir satırda poz numaralarım var ve rastgele bu poz numaralarına birim fiyat atıyorum, ancak o kadar çok var ki istediğim şu rastgele atadığım bu fiyatların yinelenenlerinin aynı olması gerekmekte. Yani b2 hücresinde yazılı poz birim fiyatı olarak 29 lira atanmış ise daha sonra aynı poz geçiyor ise o pozun da birim fiyatı 29 lira olmalı.

Örnek sayfa : https://yadi.sk/i/qARcS7err3ohi
bunun için bir makro mu yazmak gerekli ya da çözüm yolunuz nedir? Şimdiden yardımlarınız için teşekkürler...
 
Merhaba,
Veri doğrulama uygulayarak F sütununa hatalı değer girilmesini engelleyebilirsiniz Bunun için F sütununu seçip veri doğrulamaya aşağıdaki formülü giriniz.
Kod:
=DÜŞEYARA($B1;$B$1:$F1;5;0)=$F1
Ya da makro kullanmak isteseniz: Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalarsanız B sütununa var olan bir poz numarası girdiğiniz zaman F sütununa daha önceki fiyatı yazar.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Or Intersect(Target, Range("B2:B65000")) Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(Range("B2:B" & Target.Row - 1), Target) > 0 Then
    Target.Offset(0, 4) = WorksheetFunction.VLookup(Target, Range("B2:F" & Target.Row), 5, 0)
End If
End Sub
 
Çok teşekkür ederim ancak şöyle bi nüans var , ben bu fiyatları zaten girmiş oluyorum yani liste tamamlanıyor ve makroyu çalıştırdığımda kontrol edip üstteki verileri alttaki benzerlerinin yerine yazıyor olması gerekmekte. Birim fiyatları kodu çalıştırdıktan sonra elle girmiyorum. Benim yaptığım şey şu aslında pozun kendi birim fiyatı üzerinden belli bir oranda kırıyorum her kırım oranı birbirinin aynı olmaması için de rastgele bir oran belirtiyorum ve o rastgele orandaki kırımı birim fiyat hanesine yapıştırarak ekliyorum. (Bu kırım olayını farklı bir hücrede yapıyorum.) Benim sorunum bundan sonra peydah oluyor. Aynı pozun aynı kırım oranında yansıtmam gerektiği için soruyu böyle sordum. Ama benim elde etmek istediğim şeyin cevabı olmadı sanırım sorunumu basitleştirirken :)
 
Aşağıdaki kodu deneyiniz... Umarım anlamışımdır.
Kod:
Sub Kod()
For a = 3 To Range("B65500").End(3).Row
    If WorksheetFunction.CountIf(Range("B2:B" & a - 1), Cells(a, "B")) > 0 Then
        Cells(a, "F") = WorksheetFunction.VLookup(Cells(a, "B"), Range("B2:F" & a), 5, 0)
    End If
Next
End Sub
 
Harika! kesinlikle tam da istediğim oldu peki kodu açıklar mısınız tam olarak ne yaptık burada? Fazla olmayacaksam eğer kodun ne yaptığını merak ediyorum şu an :) Tekrar çok teşekkür ederim...
 
Kod, 3. satırdan B sütunundaki dolu olan son satıra kadar B sütunundaki hücrelerdeki kodların daha önce geçip geçmediğini kontrol ediyor (EğerSay formülü ile). Eğer geçmiyorsa hiçbir şey yapmıyor. Daha önceki satırlarda aynı kod var ise DüşeyAra formülü ile o kodun fiyatını F sütununa yazıyor.
 
Tekrar çok teşekkür ederim büyük bir zaman kaybından kurtardınız...
 
Rica ederim, iyi çalışmalar...
 
Geri
Üst