Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 17-05-2017, 16:31   #1
Trilenium
Destek Ekibi
 
Trilenium kullanıcısının avatarı
 
Giriş: 16/09/2008
Şehir: İstanbul
Mesaj: 520
Excel Vers. ve Dili:
2007
Varsayılan Ayrı Sayfalardaki Verileri Tutara Göre Karşılaştırma

Merhabalar,

Ekte sunmuş olduğum dosya da görüleceği üzere 2 adet sayfam var.

A ve B sayfalarını birbiri ile karşılaştırma yapmak istiyorum.

A sayfasındaki Tutarı B sayfasında var ise kontrol adlı sütuna "Var,Yok" ve bulduğu tutarın yanına da "Bulundu" ibaresini yazdırmak istiyorum

Fakat burada ince bir nüans var, Aramayı yaparken şunu göz önünde bulundurmak istiyorum.

Örneğin A sayfasında 5000 TL var, bu tutarı B sayfasında aradım ve ilk bulduğum 5000 TL ile bu tutarı hemen eşleştirmek istiyorum ve yukarıda bahsettiğim gibi Kontrol adlı sütuna Var,Yok ibaresi yazdırmalıyım. Aksi takdir de başka bir 5000 TL daha var olacağı için o tutarı arama yaparken tekrar görebilecektir.


Konu hakkında Örnek sheetler yaptım.

* Site içerisinde aramalar yaptım fakat sanırım sonuca gidecek kodları bulamadım. İstediğim şey VBA ortamında olmalıdır.

Yardımlarınız için şimdiden teşekkürler

Saygılarımla
Eklenmiş Dosyalar
Dosya Türü: xlsx Demo Sheet.xlsx (37.4 KB, 15 Görüntülenme)
__________________
Suzuki Gsxr 1300 Hayabusa Turbo Racing
Trilenium Çevrimdışı   Alıntı Yaparak Cevapla
Eski 17-05-2017, 16:58   #2
Ömer
Moderatör
 
Ömer kullanıcısının avatarı
 
Giriş: 18/08/2007
Şehir: Kuşadası
Mesaj: 18,999
Excel Vers. ve Dili:
Excel 2010 Türkçe
Varsayılan

Merhaba,

İstediğiniz bu mu?

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Karsilastir()

    Dim Sb As Worksheet, i As Long, c As Range, Adr As String
    
    Set Sb = Sheets("B")
    
    Application.ScreenUpdating = False
    Sheets("A").Select
    Range("C2:C" & Rows.Count).ClearContents
    Sb.Range("C2:C" & Rows.Count).ClearContents
   
    For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row
        Set c = Sb.[B:B].Find(Cells(i, "B"), , xlFormulas, xlWhole)
        If Not c Is Nothing Then
            Adr = c.Address
            Do
                If Sb.Cells(c.Row, "C") = "" Then
                    Cells(i, "C") = "Bulundu"
                    Sb.Cells(c.Row, "C") = "Var"
                    Exit Do
                End If
                Set c = Sb.[B:B].FindNext(c)
            Loop While Not c Is Nothing And c.Address <> Adr
        End If
    Next i
        
End Sub
.
__________________
.
Ömer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 17-05-2017, 17:04   #3
Trilenium
Destek Ekibi
 
Trilenium kullanıcısının avatarı
 
Giriş: 16/09/2008
Şehir: İstanbul
Mesaj: 520
Excel Vers. ve Dili:
2007
Varsayılan

Ömer Bey merhaba,

Emeğiniz için teşekkür ederim. Şu an için olmuş gözükmektedir.

İyi günler,
Kolay gelsin
__________________
Suzuki Gsxr 1300 Hayabusa Turbo Racing
Trilenium Çevrimdışı   Alıntı Yaparak Cevapla
Eski 08-11-2017, 16:54   #4
Trilenium
Destek Ekibi
 
Trilenium kullanıcısının avatarı
 
Giriş: 16/09/2008
Şehir: İstanbul
Mesaj: 520
Excel Vers. ve Dili:
2007
Varsayılan

Ömer Bey merhabalar,

Eğer aranacak kolonlar farklı olsaydı ne yapmalıydık ?

Örneğin ;

A Sheetinde Tutar G kolonunda
B Sheetinde Tutar C kolonunda olsaydı kodu nasıl düzenlememiz gerekecekti.

Teşekkürler
__________________
Suzuki Gsxr 1300 Hayabusa Turbo Racing
Trilenium Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-11-2017, 08:02   #5
Ömer
Moderatör
 
Ömer kullanıcısının avatarı
 
Giriş: 18/08/2007
Şehir: Kuşadası
Mesaj: 18,999
Excel Vers. ve Dili:
Excel 2010 Türkçe
Varsayılan

Merhaba,

Sütun isimlerini değişkene tanımladım.
s1,s2,s3,s4 tanımlamalarındaki sütun isimlerini (Kırmızı adları) kendinize göre uyarlarsınız.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub CommandButton1_Click()

    Dim Sb As Worksheet, i As Long, c As Range, Adr As String
    Dim s1 As String, s2 As String, s3 As String, s4 As String
    
    Set Sb = Sheets("B")
    
    s1 = "G" 'A sayfası aranan sütun
    s2 = "I" 'A sayfası sonucların yazıldığı sütun
    s3 = "C" 'B sayfası aranan sütun
    s4 = "G" 'B ssayfası sonucların yazıldığı sütun
    
    Application.ScreenUpdating = False
    Sheets("A").Select
    
    Range(s2 & 2 & ":" & s2 & Rows.Count).ClearContents
    Sb.Range(s4 & 2 & ":" & s4 & Rows.Count).ClearContents
   
    For i = 2 To Cells(Rows.Count, s1).End(xlUp).Row
        Set c = Sb.Columns(s3).Find(Cells(i, s1), , xlFormulas, xlWhole)
        If Not c Is Nothing Then
            Adr = c.Address
            Do
                If Sb.Cells(c.Row, s4) = "" Then
                    Cells(i, s2) = "Bulundu"
                    Sb.Cells(c.Row, s4) = "Var"
                    Exit Do
                End If
                Set c = Sb.Columns(s3).FindNext(c)
            Loop While Not c Is Nothing And c.Address <> Adr
        End If
    Next i
    
End Sub
.
__________________
.
Ömer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-11-2017, 10:27   #6
Trilenium
Destek Ekibi
 
Trilenium kullanıcısının avatarı
 
Giriş: 16/09/2008
Şehir: İstanbul
Mesaj: 520
Excel Vers. ve Dili:
2007
Varsayılan

Ömer Bey merhaba

Denedim fakat çalışmadı.

Dosya ektedir.
Eklenmiş Dosyalar
Dosya Türü: xlsm Demo Sheet.xlsm (97.9 KB, 5 Görüntülenme)
__________________
Suzuki Gsxr 1300 Hayabusa Turbo Racing
Trilenium Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-11-2017, 10:46   #7
Ömer
Moderatör
 
Ömer kullanıcısının avatarı
 
Giriş: 18/08/2007
Şehir: Kuşadası
Mesaj: 18,999
Excel Vers. ve Dili:
Excel 2010 Türkçe
Varsayılan

Harf hatası yapmışım. #5 numaralı mesajı güncelledim. Yeni kodları deneyin.

.
__________________
.
Ömer Çevrimdışı   Alıntı Yaparak Cevapla
Eski 09-11-2017, 10:55   #8
Trilenium
Destek Ekibi
 
Trilenium kullanıcısının avatarı
 
Giriş: 16/09/2008
Şehir: İstanbul
Mesaj: 520
Excel Vers. ve Dili:
2007
Varsayılan

Ellerinize sağlık. Çok teşekkür ederim
__________________
Suzuki Gsxr 1300 Hayabusa Turbo Racing
Trilenium Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 23:37


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden