• DİKKAT

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

Parçala fonksiyonu ile ilgili

Katılım
3 Mart 2009
Mesajlar
519
Excel Vers. ve Dili
excel 2003 tr
Hepinize kolay gelsin arkadaşlar, bir sorum olcak acaba parçala foksiyonu ile
bir metni kelime kelime parçalamak mümkünmüdür.
ÖRNEK;
"2.6. M₁ sınıfı hariç, hariç, durumdaki karoserili, bağlantı tertibatlı çekici aracın kütlesi " cümlesini

2.6.
M₁
sınıfı
hariç,
durumdaki....

vs gibi parçalıyarak alt alta veya yanyana hücrelere dağıtıla bilirmi.
 
Metni Sütunlara Dönüştür fonksiyonunu kullanmanızı öneririm.
 
malesef formül ile gelen metinleri ayırmıyor!
 
Formül içindeki metinleri ayrıştırmanız zor. Formüllerin değerlerini bir başka sütuna aktarın ve bu değerlerden faydalanarak parçaları oluşturun.
 
Formül içindeki metinleri ayrıştırmanız zor. Formüllerin değerlerini bir başka sütuna aktarın ve bu değerlerden faydalanarak parçaları oluşturun.

Aslında parçala fonksiyonu işe yarıyor fakat cümle yapısını sabitlemek oldukca zor anladığım kadarıyla işlev ile bunu yapmak pek mümkün değil .
 
Merhaba,

Bunun için kulanıcı tanımlı fonksiyon kullanmak daha akıllıca olur. Ben bir tane oluşturdum. Sadece alt simgelerde sorun var gibi görünüyor. Onun dışında deneme şansım olmadı.

Hücrede kullanım şekli;
=EPARÇAAL(Hücre;Alınacak Kelime Sırası;Ayırıcı Kriter)

Kod:
Function EPARÇAAL(Veri As Variant, Kelime As Integer, Optional Kriter As String = " ")
    Dim Say As Integer, WF As WorksheetFunction
    
    Set WF = WorksheetFunction
    
    Application.Volatile
    
    Say = UBound(Split(WF.Trim(Veri.Text), Kriter)) + 1
    
    If Say > (Kelime - 1) Then
        EPARÇAAL = Split(WF.Trim(Veri.Text), Kriter)(Kelime - 1)
    Else
        EPARÇAAL = vbNullString
    End If
End Function
 

Ekli dosyalar

"," Virgülleri veya kriterleri yazmıyor Korhan bey...



Function EPARÇAAL(Veri As Variant, Kelime As Integer, Optional Kriter As String = " ")
Dim Say As Integer, WF As WorksheetFunction

Set WF = WorksheetFunction

Application.Volatile

Say = UBound(Split(WF.Trim(Veri.Text), Kriter)) + 1

If Say > (Kelime - 0) Then
EPARÇAAL = Split(WF.Trim(Veri.Text), Kriter)(Kelime - 0)
Else
EPARÇAAL = vbNullString
End If
End Function

Bu şekilde düzenleyincede hataverdi!
 
Merhaba,

Örnek dosya üzerinde açıklarsanız daha iyi yardımcı olabilirim.
 
Arkadaşlar tşk ederim. Makro çok işime yaradı.
 
Geri
Üst