• DİKKAT

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

Şartlı Veri Yazdırma

  • Konbuyu başlatan Konbuyu başlatan ormann
  • Başlangıç tarihi Başlangıç tarihi
Katılım
9 Ekim 2009
Mesajlar
1,626
Excel Vers. ve Dili
türkçe
2003
İyi günler ekteki örnek dosyada
1- C3:C18 hücreleri arasına veri girdiğimde "E3" hücresine c3:c18 hücrelerindeki veriler farklı ise "E3" hücresine "FARKLI" c3:c18 hücrelerindeki veriler aynı ise "E3" hücresine "AYNI"yazdırabilirmiyiz.
2-C3:C18 hücrelerindeki veriler aynı ise bir defa farklı ise örnekteki gibi "G3" hücresine verileri aralarına virgül koyarak yazdırmak mümkün müdür.
 

Ekli dosyalar

Merhaba,

Sayfanın kod bölümüne kopyalayın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim d As Object, i As Byte, sonuc As String, yaz As String
    Dim say As Byte, deg
    If Intersect(Target, [C3:C18]) Is Nothing Then Exit Sub
 
    Set d = CreateObject("Scripting.Dictionary")
 
    With Target
        If .Count > 1 Then Exit Sub
        If .Value = "" Then Exit Sub
        Range("G3") = ""
        Range("G3").NumberFormat = "@"
        sonuc = WorksheetFunction.CountIf(Range("C3:C18"), .Value)
        say = WorksheetFunction.CountA(Range("C3:C18"))
        If say = 1 Or sonuc > 1 Then yaz = "AYNI" Else: yaz = "FARKLI"
        For i = 3 To 18
            deg = Cells(i, "C")
            If deg <> "" Then
                If Not d.exists(deg) Then
                    d.Add deg, Nothing
                    Range("G3") = Range("G3") & "," & deg
                End If
            End If
        Next i
        Range("E3") = yaz
    End With
    Range("G3") = WorksheetFunction.Substitute(Range("G3"), ",", "", 1)
 
End Sub

.
 
Sayın Ömer bey C3:C18 hücresinde sadece tek bir veri varken "farklı" yazıyor.Ayrıca hücrelerin arasına nokta değilde virgül konabilir mi?
 
Diğer mesajımdaki kodu virgün olarak değiştirdim.

Tek veri olunca ne yazması gerekiyor. Bununla ilgili bir açıklma yapılmamış. Mantık olarak da girilen değerden başka olmadığı için "farklı" yazması gerekmiyor mu.
 
Sayın Ömer bey bu hücrelerde tek bir veri varsa (örneğin: 150) "aynı" yazak,aynı veriden gene varsa (Örneğin:150,150) yine "aynı " yazacak.Farklı veri varsa (150,200) "farklı yazacak.Birde verleri sildiğimde hata veriyor.
 
Kodu değiştirdim, tekrar deneyiniz.
 
Sayın Ömer bey kod güzel çalışıyor.Örneğin 150,151 yazdığım zaman "FARKLI" yazıyor.Fakat 150,151,150 dediğim zaman ise "AYNISI" yazıyor bu değiştirilebilir mi?
 
Farklı ve Aynısı değerlerinin işleme mantığını detaylı açıklarmısınız
 
Aslında hocam farklı- aynılardan kasıt o hücreler arasında bölme numaraları var.
Bu bölmelerden aynısı varsa(150-150-150) "Aynısı"Farklı bir bölme numarası varsa (150-151-152-150)"Farklı"
 
Açıklamalarınız anlamıyor. Konuyu biliyormuşum gibi değil, bilmiyormuşum gibi açıklayınız.
 
Hocam aslında aynısı-farklı kelimelerini örnek olarak uyguladım.Asıl dosyamda Hücreler arasında aynı sayılar varsa hücreye "bölme"; farklı sayılar varsa "bölmeler" şeklinde değiştirecektim.
 
Sayın ormann,

Ben size konuyu açıklayın diyorum, siz sürekli aynı şeylerden bahsediyorsunuz. Bu şekilde size yardımcı olamam maalesef.

Kodların yaptığı;

Girilen değer C3:C18 arasında daha önce girilmişse "AYNI", girilmemişse "FARKLI" değer üretmektedir.

Buna göre kurgusunu açıklayınız.
 
Geri
Üst