Cümle içinden e-mail adreslerini almak

Katılım
31 Mart 2008
Mesajlar
5
Excel Vers. ve Dili
2002
Mustafa (by_abba@hotmail.com);
musti01977@hotmail.com (musti01977@hotmail.com);
müslüman (cihadi-ekber@hotmail.com);
Nuray (nuraydogan24@hotmail.com);

A sütünün listesi ve liste uzayıp gidiyor. Burada benim yapmak istedigim şey şu () arasında kalan email adreslerini almak. parantezler dahil, diger kısımların silinmesi gerekiyor. bunun niçin nasıl kodlama gerekiyor.
Yardımcı olan arkadaşlara şimdiden teşekkürler...
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
İyi akşamlar,

Kod:
Sub SıfırlamaYap()
For x = 2 To [a65536].End(3).Row
uzunluk = Len(Cells(x, 1))
For k = 1 To uzunluk
If Left(Cells(x, 1), 1) = "(" Then
Else
Cells(x, 1) = Right(Cells(x, 1), uzunluk - k)
End If
say = Len(Cells(x, 1)) - 1
If Right(Cells(x, 1), 1) = ";" Then
Cells(x, 1) = Left(Cells(x, 1), say)
End If

Next
Next

End Sub
Yukarıdaki kod zannedersem işinizi görür.
 
Katılım
31 Mart 2008
Mesajlar
5
Excel Vers. ve Dili
2002
Kemal teşekkür ederim. Kırmızı ile yazılmış yeri 1 yaptıgımızda A1 hücresinden başlayıp tüm parantez dışında kalan kısımları gayet güzel siliyor.

Biraz daha kafa yorsak ( ve ) sildirmemizin bir yolu varmı?

Sub SıfırlamaYap()
For x = 1 To [a65536].End(3).Row
uzunluk = Len(Cells(x, 1))
For k = 1 To uzunluk
If Left(Cells(x, 1), 1) = "(" Then
Else
Cells(x, 1) = Right(Cells(x, 1), uzunluk - k)
End If
say = Len(Cells(x, 1)) - 1
If Right(Cells(x, 1), 1) = ";" Then
Cells(x, 1) = Left(Cells(x, 1), say)
End If

Next
Next

End Sub
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sub ayir()
On Error Resume Next
Dim sonsat As Long, i As Long, ilk As Byte, son As Byte, uzunluk As Byte
sonsat = Sheets("Sayfa1").Cells(65536, "A").End(xlUp).Row
For i = 1 To sonsat
ilk = WorksheetFunction.Find("(", Cells(i, "A").Value) + 1
son = WorksheetFunction.Find(")", Cells(i, "A").Value)
uzunluk = son - ilk
sonuc = Mid(Cells(i, "A").Value, ilk, uzunluk)
Cells(i, "A").Value = sonuc
Next
End Sub


Cells(i, "A").Value = sonuc satırındaki "A" harfini "B" yaparsan ayıklanmış halini B sutununa atar.
Kolay gelsin.
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
tahsinararat,

Gayet başarılı bir çalışma.Aklıma gelmemişti.Tekrar tebrikler.

Yukarıdaki kod'un yanına başkabir kod yazmak biraz abest kaçar.
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,929
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Buda formüllü olsun.

Alternatif1

B1 hücresine

Kod:
=PARÇAAL(A1;BUL("(";A1)+1;TOPLA(BUL({"(";")"};A1)*{-1;1})-1)
yazıp aşağı doğru çekiniz.

Alternatif2

Kod:
=YERİNEKOY(DEĞİŞTİR(A1;1;MBUL("(";A1);"");");";"")
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,929
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Buda kullanıcı tanımlı fonksiyon

Kod:
Function email(txt As String) As String
With CreateObject("VBScript.RegExp")
.Pattern = "[a-z0-9][a-z0-9_\.\-]+@[a-z0-9\-\.]+(\.[a-z]{2,3})+"
.IgnoreCase = True
If .test(txt) Then email = .Execute(txt)(0)
End With
End Function
 

BirTürk1

Destek Ekibi
Destek Ekibi
Katılım
6 Eylül 2007
Mesajlar
134
Excel Vers. ve Dili
Excel 2003 TR
Hücrede 00-1c-26-9c-6f-2c şeklinde veri var bunu - işaretinden kurtarmak için bu kodlardan yararlanabilirmiyiz

not : 00-1c-26-9c-6f-2c bu veriler MAC adresi
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Hücrede 00-1c-26-9c-6f-2c şeklinde veri var bunu - işaretinden kurtarmak için bu kodlardan yararlanabilirmiyiz

not : 00-1c-26-9c-6f-2c bu veriler MAC adresi
Kod:
Dim hcr As Range, sonsat as long, i as long
......
sonsat = Sheets("Sayfa1").Cells(65536, "[COLOR=Red]A[/COLOR]").End(xlUp).Row
For i = 2 to sonsat
  Set hcr = Range("[COLOR=Red]A[/COLOR]:" & i)
  hcr = replace(hcr,"-","")
NEXt i 
set hcr = nothing
........
şeklinde kullanabilirsiniz
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
Ali Bey ve hsayar,

Alternatif çözümler çok iyi.Benim içinde güzel bir örnek oldu.

Teşekkurler arkadaşlar.
 

BirTürk1

Destek Ekibi
Destek Ekibi
Katılım
6 Eylül 2007
Mesajlar
134
Excel Vers. ve Dili
Excel 2003 TR
Teşekkür ederim sayın sayar

şimdi denedim fakat kod hata veriyor çalışmayı durduruyor
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,929
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
A sütunun seçin CTRL+H tuşuna basın

Üstteki kısıma -
Alttaki kısıma birşey yazmayıp tümünü değiştiri tıklayınız.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Teşekkür ederim sayın sayar

şimdi denedim fakat kod hata veriyor çalışmayı durduruyor

Kod:
sub tireleri_sil()
Dim hcr As Range, sonsat as long, i as long
......
'A : Tireler hangi sütunda ise ona göre düzeltiniz.

sonsat = Cells(65536, "[COLOR=Red]A[/COLOR]").End(xlUp).Row
For i = 2 to sonsat
  Set hcr = Range("[COLOR=Red]A[/COLOR]:" & i)
  hcr = replace(hcr,"-","")
NEXt i 
set hcr = nothing
........end sub
olmadı örnek dosya ekleyiniz.
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,929
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
=B1&"5711097756"&D1

şeklindeki formülü

=YERİNEKOY(B1;"-";"")&C1&D1

şeklinde kullanın.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Yine yapamadım

dosyayı ekliyorum

Kod:
Sub tireleri_sil()
'A(1) ve I(9) sütunlarında bulunan verilerin içinde tireleri siler.
Dim hcr As Range, sonsat As Long, i As Long
For sutun = 1 To 9
sonsat = Cells(65536, sutun).End(xlUp).Row
  For satır = 1 To sonsat
    Set hcr = Cells(satır, sutun)
    hcr = Replace(hcr, "-", "")
  Next satır
Next sutun
Set hcr = Nothing
End Sub
 

BirTürk1

Destek Ekibi
Destek Ekibi
Katılım
6 Eylül 2007
Mesajlar
134
Excel Vers. ve Dili
Excel 2003 TR
teşekkür ederim yerini buldu
 
Üst