• DİKKAT

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

Ara bul getir

teonet

Altın Üye
Katılım
20 Kasım 2005
Mesajlar
403
Excel Vers. ve Dili
Ofis 2010 Türkçe
Merhabalar, sorum dosyanın içindedir. Genel bir adı olmadığı için ara bul getir yazmayı uygun buldum.

Yardımcı olan arkadaşlara ve ustalarıma şimdiden teşekkürler.
 

Ekli dosyalar

Merhaba
Sorunuz hiç anlaşılmıyor. Biraz daha açıklama ekler misiniz_?
 
Merhaba Asi Kral
Sorum şu;
C7 hücresine 1 yazdığımda, data sayfasında izmir'i bulacak (c7 ye denk gelen) onun karşında bulunan e9 ve f9 hücrelerinde bulunan izmir ve kayseri dataları baz alarak veri sayfasında bu illere denk hüçrelerin d satırındaki karşılıklarına 1 yazması gerekiyor. biraz karışık gibi geliyor. elimden geldiğince anlatmaya çalıştım..

saygılarımla
 
. . .

Kod:
Sub kod_bir()
Application.ScreenUpdating = False
Dim sv As Worksheet
Dim sd As Worksheet
Set sv = Sheets("veri")
Set sd = Sheets("data")
aa = sv.[c65536].End(3).Row
bb = sd.[c65536].End(3).Row

sd.Range("d7:d" & bb + 1) = Empty
For i = 5 To aa
For a = 7 To bb
If sv.Cells(i, "c") = "1" Then
If sv.Cells(i, "b") = sd.Cells(a, "c") Then
sd.Cells(a, "d") = "1"
sv.Cells(i, "d") = "1"
Else
End If
Else
End If

Next a
Next i
Application.ScreenUpdating = True
MsgBox " B İ T T İ "
End Sub
. . .
 
Hüseyin Bey
Merhaba, yardımınız için teşekkür ederim. İstemiş olduğum olayı yapmak mümkün mü?
 
. . .

Merhaba.
Ben örnek dosyanızdaki ve mesajınızdaki açıklamalardan anladıklarımla.
# 4 nolu mesajımda gönderdiğim kodlamayı yaptım. Deneyiniz.

. . .
 
Sayın Hüseyin Bey
Elinize sağlık. Kodları denedim. Muhtemelen ben anlatamadım. Örneğin data sayfasında İzmir'i buldu ve karşısındaki 1. il İzmir olduğu için, veri sayfasında istediğim yere 1 yazdı. Bunun yanı sıra data sayfasında 2. il olan Kayseri içinde aynı şeyi yapması gerekmektedir. 3. il olsaydı bunun içinde isteyecektim. Ben bunu buton ile çalıştırdım. her çalıştırmamda veri sayfasında bulunan d satırını yenilemesi gerekmektedir. atıyorum bir öncesin çalıştırmış olduğum 1 kalıntılarını silmelidir ki yeni çalıştırdığımda istedim sonuçları görebileyim..

Değerli zamanınızı harcadığınız için tekrar teşekkür ederim.
 
. . .

Örneğin Ankara için.
Bu söylediğiniz işlemlerin, bitmiş halini gösteren bir örnek ekleyiniz.

. . .
 
Ankara için resimdeki gibi olması gerekiyor.
 

Ekli dosyalar

  • örn1.JPG
    örn1.JPG
    13.2 KB · Görüntüleme: 48
. . .

Sayfa1 in kod bölümüne

Kod:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.ScreenUpdating = False
Dim sv As Worksheet
Dim sd As Worksheet
Dim aa, bb, i
Set sv = Sheets("veri")
Set sd = Sheets("data")
aa = sv.[c65536].End(3).Row
bb = sd.[c65536].End(3).Row

If Not Intersect(Target, Range("c5:c" & aa)) Is Nothing Then
Range("d5:D" & aa) = Empty
For i = 7 To bb
If Cells(Target.Row, "c") = "1" Then
If Cells(Target.Row, "b") = sd.Cells(i, "c") And sd.Cells(i, "e") <> "" Then
Cells(Target.Row, "d") = "1"
End If
End If
Next i

End If
Application.ScreenUpdating = True
End Sub

. . .
 
Sayın Hüseyin Bey
Ankara'nın c5 hücresine 1 yazdım. d1 hücresine 1 geldi. fakat istanbul kayseri muğla izmir illerinin d satırına 1 gelmedi (ankara için)

YEni krater seçme işlemi yaptığımda eski verileri siliyor bu güzel olmuş. Elinize sağlık
 
Merhaba,

Aşağıdaki kodu deneyiniz.

Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bul_1 As Range, Bul_2 As Range, X As Byte, Veri As Variant
    
    On Error GoTo Son
    
    If Intersect(Target, Range("C5:C10")) Is Nothing Then Exit Sub
    If Target = 1 Then
        Application.EnableEvents = False
        Veri = Target
        Range("C2:D10") = ""
        Target = Veri
        Application.EnableEvents = True
        Set Bul_1 = Sheets("data").Range("C:C").Find(Target.Offset(0, -1))
        If Not Bul_1 Is Nothing Then
            For X = 5 To 15
                If Sheets("data").Cells(Bul_1.Row, X) <> "" Then
                    Set Bul_2 = Range("B:B").Find(Sheets("data").Cells(Bul_1.Row, X))
                    If Not Bul_2 Is Nothing Then
                        Bul_2.Offset(0, 2) = 1
                    End If
                End If
            Next
        End If
    End If
Son:
    Set Bul_1 = Nothing
    Set Bul_2 = Nothing
    Application.EnableEvents = True
End Sub
 
Sayın Korhan,
Elinize sağlık çok güzel olmuş. Çok teşekkür ederim
 
Sayın Korhan,
Bir sorum daha olacaktı. Veri sayfasınca c5 ile beraber c6 ya da 1 yazsam ikisi beraber çalışabilir mi? bunun için nasıl bi değişiklik yapmam gerekiyor. bilgi amaçlı soruyorum. gerekli oalbilir de..

Şimdiden teşekkürler
 
Merhaba ustalarım, Öncelikle yardımlarınız için teşekkürler. çok güzel çalışıyor. fakat bi sorunla karşılaştım o da resim olarak ekledim.

Veri sayfasında kayseri bir tane bulunuyor. ama asıl dosyada il isimleri bir den fazla bulunuyor. bu kısmı ben atlamışım. dolayısı ile kayseriye 1 yazdığımda karşısına 1 geliyor ama ikinci kayseri'nin karşısına gelmiyor. bunu düzeltmek için nasıl bir değişiklik yapabiliriz. Yapabilirsek çok işime yarayacak. değerli yardımlarınızı bekliyorum.
 

Ekli dosyalar

  • örn2.JPG
    örn2.JPG
    8.5 KB · Görüntüleme: 10
Merhabalar,
Yardımcı olabilirmisiniz?
 
Merhabalar,
Yardımcı olabilirmisiniz?
 
Geri
Üst