• DİKKAT

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

Soru Metnin içindeki sayıları ayırma ve yapıştırma

Katılım
24 Şubat 2020
Mesajlar
4
Excel Vers. ve Dili
Excel 2007 Türkçe
Bir metnin içindeki belli bir kelimeden sonra gelen sayıları ayırıp (veya kopyalayıp farketmez) farklı bir sütuna aktarmak istiyorum, nasıl yapabilirim?

Örneğin
ÖdenenPara:108.000AktarılanPara:77.000

buradaki ödenen paradan sonra gelen miktarı başka bir sütuna, aktarılan paradan sonra gelen miktarı ayrı bir sütuna yazdırmak istiyorum mümkün müdür?

Dipnot: Metin tek parça (text) halinde değil, arada boş hücreler var, ancak hepsi A sütunundan aşağı doğru sıralanmış halde, B sütununda durumla ilgili bir veri yok.

Dipnot2: Foruma bugün kaydoldum ve henüz altın üye değilim, yaptığınız çalışmaları/kodları mail adresime gönderebilirseniz (mail adresim: ahmetkurubek@gmail.com) veya başka bir yolla iletebilirseniz sevinirim..
 
Dosya yapınızı bilmemekle birlikte, Excelin hızlı doldur özelliğini kullanabilirsiniz.
214632
 
Alternatif;

Veriniz A1 hücresinde ise;

B1 Hücresine;
C++:
=SOLDAN(YERİNEKOY(YERİNEKOY(A1;"ÖdenenPara:";"");"AktarılanPara:";" ");MBUL(" ";YERİNEKOY(YERİNEKOY(A1;"ÖdenenPara:";"");"AktarılanPara:";" "))-1)

C1 Hücresine;
C++:
=PARÇAAL(YERİNEKOY(YERİNEKOY(A1;"ÖdenenPara:";"");"AktarılanPara:";" ");MBUL(" ";YERİNEKOY(YERİNEKOY(A1;"ÖdenenPara:";"");"AktarılanPara:";" "))+1;15)
 
+ Alternatif;

108.000 değeri için
Kod:
=PARÇAAL(A1;BUL(":";A1;1)+1;BUL("Aktarılan";A1)-BUL(":";A1;1)-1)
77.000 değeri için
Kod:
=PARÇAAL(A1;BUL("AktarılanPara:";A1)+14;UZUNLUK(A1)-BUL("AktarılanPara:";A1))
formülleri kullanılabilir.
 
Cevaplarınız için teşekkür ederim arkadaşlar, konuda benim yazdığım örneğe göre formül vermişsiniz ancak ben örneğimi istediğim veriye göre uyumlu olarak yazamamışım özür dilerim benim hatam. Tam olarak neye ihtiyacım olduğunu örnek dosya olarak ekledim.

İçerisinde açıklama metni mevcut: https://www.dosyaupload.com/75pi
 
İlk mesajdaki soru ile eklediğiniz dosya arasında ortak bir nokta yok. Soru sorarken daha dikkatli olmak gerekiyor.
Eklediğiniz dosyadaki verileri internet üzerinden alıyorsanız datayı oradan almak daha rahat ve hızlı olabilir.
 
Son eklediğiniz dosyaya göre makro kullanılması daha uygun görünüyor.

Deneyiniz.

C++:
Option Explicit

Sub Listele()
    Dim S1 As Worksheet, Veri As Variant, X As Byte, Y As Long, Z As Integer
    Dim Son As Long, Aranan As Variant, Bul As Integer, Sayi As String, Zaman As Double
    
    Zaman = Timer
    
    Set S1 = Sheets("Sayfa3")
    
    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    
    S1.Range("D2:F" & S1.Rows.Count).ClearContents
    
    Veri = S1.Range("A1:A" & Son).Value2
    Aranan = Array("Ressources:", "Flottes:", "Défense:")
    
    For X = LBound(Aranan) To UBound(Aranan)
        For Y = LBound(Veri) To UBound(Veri)
            Bul = InStr(1, Veri(Y, 1), Aranan(X))
            If Bul > 0 Then
                For Z = Bul + Len(Aranan(X)) + 1 To Bul + Len(Aranan(X)) + 1 + 30
                    If IsNumeric(Mid(Veri(Y, 1), Z, 1)) Or Mid(Veri(Y, 1), Z, 1) = "," Or Mid(Veri(Y, 1), Z, 1) = "." Then
                        Sayi = Sayi & Mid(Veri(Y, 1), Z, 1)
                    Else
                        Exit For
                    End If
                Next
                S1.Cells(S1.Rows.Count, X + 4).End(3)(2) = Replace(Replace(Sayi, ",", "."), ".", "")
                Sayi = Empty
            End If
        Next
    Next
    
    Son = S1.Cells(S1.Rows.Count, "D").End(3).Row
    S1.Range("D2:F" & Son).NumberFormat = "General"
    
    MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 
Geri
Üst