Tabloda karşılaştırma ve Ayırma.

Katılım
20 Ocak 2011
Mesajlar
8
Excel Vers. ve Dili
windows office 2007 ve 2010
Herkeze öncelikle merhaba,

Elimizde 50000 veri datası bulunmakta içerisinde Adı,Soyadı,Adres,Posta Kodu,Doğum Tarihi, Telefon numarası bulunuyor. bu veriler içerisinde elimizde bulunan 7000 veri var, elimizdeki 7000'lik veriyi 50000'lik veri içerisinde arayıp (telefonları aynı olanlar sadece isim ve adres bilgileri önemli değil telefonu tutması yeterli) bulunanları farklı sayfada satır olarak sıralamasını istiyorum, telefon numaralarından karşılaştırma yaptığımızda içerisinde karşılaşan numaralarrı bulabiliyorum yalnız bulunan numaraları kopyalama veya taşıma yapamadım, telefon numarası tutanların bulunan hücredeki bilgileri taşıması yeterli olur ekte bir örnek veriyorum incelerseniz sevinirim.

Saygılar..
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Bu şekilde deneyin.

Kod:
Sub Varsa_Aktar()
 
    Dim i As Long, c As Range, sat As Long, Adr As Variant, S2 As Worksheet
 
    Set S2 = Sheets("Sayfa2")
 
    Application.ScreenUpdating = False
    Sheets("Sayfa1").Select
 
    S2.Cells.Clear
    Range("A1:G1").Copy S2.Range("A1")
 
    sat = 2
    For i = 2 To Cells(Rows.Count, "H").End(xlUp).Row
        With Range("G:G")
          Set c = .Find(Cells(i, "H"), , xlValues, xlWhole)
            If Not c Is Nothing Then
              Adr = c.Address
                Do
                    Range("A" & c.Row, "G" & c.Row).Copy S2.Range("A" & sat)
                    sat = sat + 1
                  Set c = .FindNext(c)
                Loop While Not c Is Nothing And c.Address <> Adr
            End If
        End With
    Next i
 
    Application.ScreenUpdating = True
 
 End Sub
.
 
Katılım
20 Ocak 2011
Mesajlar
8
Excel Vers. ve Dili
windows office 2007 ve 2010
Yardımlarınız için teşekkürler. birşey soracaktım, verdiğiniz kodu office 2010'da macro bölümüne yapıştırdım office ingilizce oldğu için yeni sayfa açarak Sayfa1 ve Sayfa2 isimleri verdim kodları girdim run dedim, içerdeki veri 335 bin olduğu için makina biraz kastı , hata raporu verirse ayırmam mı gerekicek ? işlemci kuvvetli hiç değilse biraz zaman alıcak bir sorun olursa size haber veirirm. tekrar teşekkürler
 
Katılım
20 Ocak 2011
Mesajlar
8
Excel Vers. ve Dili
windows office 2007 ve 2010
Ömer, Hocam macro bölümüne yapıştırıp ayarları yaptıktan sonra Run dedim, program yanıt vermiyor olarak takıldı kaldı acaba ne zaman düzelir :D düzelirse beklerim :d düzelmezse ne yapabilriim,

makinanın özellikleri iyi olduğu için düzelir diye umut ediyorum, özellikleri şöyle 8 çekirdekli 8 gb ram var yeterlidir diye düşünüyorum windows server 2008 kurulu işletim sistemi olarak, office 2010 yazılımı yüklü bu program yanıtvermiyor düzelmez diyorsanız ne yapabilirim :)

Not: işlem yaptığım excel'de 350000 data var bilginize.
Saygılar..
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
350.000 fazlaymış. Uzun sürer ama eninde sonunda hesaplama biter:)

Bu makroyu sürekli kullanacaksanız müsait zamanımda farklı bir yol ile yapmaya çalışırım.

.
 
Katılım
20 Ocak 2011
Mesajlar
8
Excel Vers. ve Dili
windows office 2007 ve 2010
hocam ellerine sağlık allah razı olsun çok teşekkür ederim ilginiz için :), sistem düzeldi ayırmış istediğim sonuçları verdi.

bu macro yapmayı yada düzenlemedi nasıl öğrenebiliriz :)

teşekkürler :)
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Bir andan öğrenilcek birşey değil.

Makro kaydet yöntemini deneyin, örnekleri inceleyin, kitap okuyun, takıldığınızı araştırın, soru çözün.vs... kısaca bu işte hevesliyseniz zamanla araştırarak öğrenirsiniz.
 
Katılım
20 Ocak 2011
Mesajlar
8
Excel Vers. ve Dili
windows office 2007 ve 2010
kendi bilgimle yapabildiğim şeyler var takıldığım noktaları araştırıyorum pek neticeye bağlanmıyor. tabi bu forumu bulana dek :=), macroalrı örnekleri molalarda elimden geldiğince inceleyeceğim :)
 
Üst