• DİKKAT

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

e-mail ayırma

Katılım
26 Mart 2005
Mesajlar
139
Excel Vers. ve Dili
2003 [TR]
Sayfa1 de yaklaşık 5000 tane verim var bunların icinden e-mailleri Sayfa2 aktaramak mümkünmüdür ?
 
örnek bir dosya eklerseniz yardımcı olunabilir sanırım.
 
Sn gdemir,

İki farklı çözüm önerisi içeren dosyanız ekte.

Makrolu çözüm için dosyanızda oluşturulan düğmeye tıklayın.

Manuel çözüm için dosyadaki açıklamayı okuyun.
 
Sayın MEHMETT

Beni de saatlerce ugrastıran bir konuydu emailleri ayıklama ...
arkadasın listesi duzenli bir sayfayı elimine ediyor. Peki duzenli olmayan
bir listeyi (ulkesi sehiri sirket adı teli faxı kontak kisisi mail adresi seklinde )diyelimki webden indirip excele yapıstırdık, bu durumda A kolonu hucrelerine yazılarak saga dogru tasan bir duzensiz duzyazı elde ettik ve icinden emailleri ayıklamak ve baska bir sayfaya ;
sadece mail adreslerini ya da
"bolt olan harfler ( sirket isimleri)"<emailadresi@filanca.com>
seklinde yada benzer halde duzenlemek icin ne yapabiliriz

Ornek bir liste : http://www.azfreight.com/azworld/az27205.htm buradaki karısık listeyi excele yapıstırdıktan sonra emailleri nasıl ayıklayabiliriz
 
Sayfayı sayfa1 e yapıştırın, aşağıdaki kodu deneyin.
[vb:1:d0d8fa9b2f]Sub ayikla()
For x = 1 To [a65536].End(3).Row
d = Split(Cells(x, 1))
For Each elem In d
If InStr(elem, "@") Then
a = a + 1
Sheets("sayfa2").Cells(a, 1) = Trim(Replace(Replace(Replace(elem, ",", ""), "e-mail:", ""), Chr(160), ""))
End If
Next elem
Next x
Sheets("sayfa2").Select
End Sub[/vb:1:d0d8fa9b2f]
 
10 saatte yaptıgım ayıklama 10 saniye surmedi

Ustad cok tesekkur ederim , demekki "bir bilene" danısmak lazımmıs ;)
ellerin dert gormesin walla cok makbule gecti ;)
 
bu kodu nereye yap&#305;&#351;t&#305;ur&#305;p deniycez
 
Arkadaşlar uzun bir süredir böyle bişey arıyordum ama
Kod:
[vb:1:d0d8fa9b2f]Sub ayikla()
For x = 1 To [a65536].End(3).Row
d = Split(Cells(x, 1))
For Each elem In d
If InStr(elem, "@") Then
a = a + 1
Sheets("sayfa2").Cells(a, 1) = Trim(Replace(Replace(Replace(elem, ",", ""), "e-mail:", ""), Chr(160), ""))
End If
Next elem
Next x
Sheets("sayfa2").Select
End Sub[/vb:1:d0d8fa9b2f]
bu kodu nereye yapıştıracağımı bilmiyorum, forumda aramada yaptım biraz ama bulamadım bir türlü, aslında n arayacağımı bile bilmiyorum, yardımcı olursanız çok sevinirim...
 
Sayfayı sayfa1 e yapıştırın, aşağıdaki kodu deneyin.

Veyselemre üstadımız bu cümleyle ,
1-ayıklanması gereken bilgiyi excel'in sayfa1'de a1 hücresine ( alınması gereken yerden tamamını tarayarak kopyaladıktan sonra ) yapıştırılmasını
2-daha sonra da bu kodları sayfa1'in olayına ( (alt ve f11'e beraber basınca açılacak olan vba kod bölümünde , soldaki sayfa1 secili iken sağda boş görünen alana ) yapıştırılmasını ve
3-daha sonra üstte I> gibi görünen " çalıştır " düğmesine basarak kodların iş görmesini önermişti .

Bunları yaptığınızda sayfa1'deki karışık bilgi içinde "@" işareti olan herşey ikinci sayfaya geçirilir.

Örneğiniz olmadığından uygulamalı anlatmak mümkün degil ama , deneyerek daha iyi anlayabilirsiniz .

Bu arada veyselemre hocamız hakikaten bu yardımıyla 10 saniyede işi çözmemi sağlamıştı.
Kendisine yine teşekkür ederim o zamanki yardımı için ...
 
Öncelikle teşekkürler güzel anlatmışsınız, dediğinizi yaptım ama çalıştır diyince;

compile error
expected expression diye hata veriyor, excel 2007 kullanıyorum ayrıca bundan dolayı hata olabilirmi ?
 
Sn. kıvılcım1982,

Sizin için bir örnek hazırladım, inceler misiniz.. Sayfa1'de iken Alt F8 yapın ve çalıştır diyin.. Adresler Sayfa2'ye ayıklanmış ve aktarılmış olarak gelecektir.
 

Ekli dosyalar

Kardeş çok sağol yaa, ben sizin gönderdiğiniz dosyayı biraz inceledim ancak çözebildim yaptığım hatayı,
Kod:
[vb:1:d0d8fa9b2f]
bu koduda ekliyormuşum, bilmediğim için sürekli aynı hatayı alıyorum, en sonunda başarabildim sayenizde çok sağolun.Mümkünse bişey daha öğrenmek isterim sizden, a1 hücresine sığmıyor attığım karmaşık yazıdaki karakterler, bu yazıyı komple sayfaya yapıştırıp ayıklayamazmıyım mailleri ?
 
Ne şekilde yapıştırırsanız yapıştırın ayıklama işlemini yapıyor.. Cevabı kendiniz deneme yanılma metoduyla bulabilirsiniz.. Yada küçük bir örnek ekleyin bakalım..
 
arkadaşla bu kodlar çok iyi çalışıyor ama şöyle bir sorun var, maillerin arkasında ";" bırakıyor.Örn:


aaa@hotmail.com;
bbb@hotmail.com;

şu noktalı virgülleride bir silebilirsek çok güzel olacak yaaa :)
 
Selamlar,

Kodu aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Sub ayikla()
    For x = 1 To [a65536].End(3).Row
    d = Split(Cells(x, 1))
    For Each elem In d
    If InStr(elem, "@") Then
    a = a + 1
    Sheets("sayfa2").Cells(a, 1) = Trim(Replace(Replace(Replace(Replace(elem, ",", ""), "e-mail:", ""), Chr(160), ""), ";", ""))
    End If
    Next elem
    Next x
    Sheets("sayfa2").Select
End Sub
 
çok sağolun elinize sağlık, tek kelime ile mükemmel oldu, iyiki varsınız....


Edit:son birşey daha eklesem kusura bakmazsanız, bu maillerde bazı adreslerde 3'er 5'er tane var, bunlarıda bire indirebilirmiyiz acaba ?
 
Son düzenleme:
Geri
Üst