Soru sayılar arası noktalar varsa sayıları kopyalamak yardım

aykiri

Altın Üye
Katılım
6 Eylül 2007
Mesajlar
50
Excel Vers. ve Dili
excel 2007 eng
Altın Üyelik Bitiş Tarihi
05-08-2027
Merhaba arkadaşlar

ekteki dosyada görüleceği üzere

sayfa_1 isimli sayfadan 11.11.11.11 şeklindeki verileri alıp sayfa_2 ye yapıştırmak istiyorum

buradaki 3 noktayı kriter olarak arattırıp yapmayı beceremedim
formül yada vba olabilir
aynı veriden bir kaç tane olması önemli değil
sıralı sırasız olması önemli değil alt alta yazsın yeter.

yardımcı olabilirseniz çok sevinirim
 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif olarak; Libre Office'de REGEX fonksiyonu kullanırsanız;




.
 

aykiri

Altın Üye
Katılım
6 Eylül 2007
Mesajlar
50
Excel Vers. ve Dili
excel 2007 eng
Altın Üyelik Bitiş Tarihi
05-08-2027
Cevabınız için teşekkür ederim Haluk bey
son satırda 12353.01.65.56 yerine diğerleri gibi sadece 53.01.65.56 yazdırabilirmiyiz
ayrıca sadece a1 değil tüm sayfada aramasını nasıl yapabilirim

kritere göre sayılar arası 3 nokta varsa sayıyı getirmesi gerekiyor. ama herhangi sayı olsada onuda alıyor
 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Formülü biraz değiştirerek o da yapılır;





Not: A1 hücresine yazılan formülü aşağıya doğru çekince, zaten diğer sayfadaki tüm hücreler kontrol edilmiş oluyor...

.
 

aykiri

Altın Üye
Katılım
6 Eylül 2007
Mesajlar
50
Excel Vers. ve Dili
excel 2007 eng
Altın Üyelik Bitiş Tarihi
05-08-2027
Haluk bey dediğiniz gibi yaptım. işe yaradı

A1 den Z500 aralığı nasıl verebilirim : kullandım olmadı

a1 ile z500 arası bulduklarını A sütununa altalta yazsın istiyorum
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,340
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Makro ile alternatif:
C#:
Sub kod()
Dim s1 As Worksheet, s2 As Worksheet
Dim R As Object
Dim x As Integer
Dim hcr As Range
Set s1 = Sheets("Sayfa_1")
Set s2 = Sheets("Sayfa_2")
ReDim dz(1 To 1)

Set R = CreateObject("VBScript.RegExp")
R.Pattern = "(\d{1,2}(\.\d{1,2}){3})"
R.Global = False

For Each hcr In s1.Range("A1:Z500")
    If R.Test(hcr.Value) Then
        x = x + 1
        ReDim Preserve dz(1 To x)
        dz(x) = R.Execute(hcr.Value)(0)
    End If
Next
s2.Range("A1").Resize(UBound(dz)).Value = Application.Transpose(dz)
End Sub
 

aykiri

Altın Üye
Katılım
6 Eylül 2007
Mesajlar
50
Excel Vers. ve Dili
excel 2007 eng
Altın Üyelik Bitiş Tarihi
05-08-2027
Sayın ÖmerBey
tam istediğim gibi çalıştı teşekkür ederim

Sayın Haluk bey
Yardımlarınızdan dolayı çok teşekkür ederim sayenizde regex kullanmayı öğrendim
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif olarak Google Sheets'de formüllerle yapılabilir....

A1 hücresine yazılacak tek bir formül, Sheet1 sayfasında A1 hücresi ile Z sütunundaki son dolu hücreye kadar olan tüm aralığı kontrol eder ve uygun sonuçları formülün yazıldığı hücreden başlayarak alt alta boşluksuz olarak doldurur.....




.
 
Son düzenleme:

aykiri

Altın Üye
Katılım
6 Eylül 2007
Mesajlar
50
Excel Vers. ve Dili
excel 2007 eng
Altın Üyelik Bitiş Tarihi
05-08-2027
Haluk bey kod çok iyi çalışıyor
bir eksiklik var bunu düzeltme imkanımız olabilirmi ?
hücre içinde birden fazla pattern yoksa sorunsuz alıyor ama
örneğin A1 hücresinde 50.01.65.56 50.01.65.57 50.01.65.58 gibi değerler varsa ilkini alıyor diğerlerini almıyor.
teşekkür ederim
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
VBA kodunu veren ÖmerBey idi ama, kendisinin adına ben kodu şu şekilde revize ettim;

C#:
Sub Test()
    Dim s1 As Worksheet, s2 As Worksheet
    Dim R As Object
    Dim x As Integer, i As Integer
    Dim hcr As Range
    Dim dz() As String
    
    Set s1 = Sheets("Sayfa_1")
    Set s2 = Sheets("Sayfa_2")
    
    Set R = CreateObject("VBScript.RegExp")
    R.Pattern = "(\d{1,2}(\.\d{1,2}){3})"
'    R.Pattern = "(\d{2}\.\d{2}\.?)+"
    R.Global = True
    
    For Each hcr In s1.Range("A1:Z500")
        If R.Test(hcr.Value) Then
            For i = 0 To R.Execute(hcr.Value).Count - 1
                x = x + 1
                ReDim Preserve dz(1 To x)
                dz(x) = R.Execute(hcr.Value)(i)
            Next
        End If
    Next
    s2.Range("A1").Resize(UBound(dz)).Value = Application.Transpose(dz)
End Sub
.
 
Son düzenleme:

aykiri

Altın Üye
Katılım
6 Eylül 2007
Mesajlar
50
Excel Vers. ve Dili
excel 2007 eng
Altın Üyelik Bitiş Tarihi
05-08-2027
Haluk bey yardımınız için teşekkür ederim
ÖmerBey sizin isminizi yanlış yazdığım için özürdilerim
sorunsuz çalışıyor emeğinize sağlık
 
Üst