Bosluk atma!- ama klasik bi sorun degil...

Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
Arkadaslar merhaba,

Sorunum bosluk atma ile ilgili, ama tabi =TRIM(A1) veya klasik find&replace komutlarıyla halledemedim şu ana kadar.

Sıkıntı şurada, bir hücreye onlarca cümleden oluşan bir şikayet verisi atıyorum, fakat cümleler arasında boşluklar bulunduğundan DATA-->Text To Column yaptığımda sadece ilk paragrafı alıyor.

Bir örnek data yollayabilirim:
----------------------------------
"Türk Hava yollarının İnternet sitesi üzerinden almış olduğum İstanbul Sivas uçak biletimde İsim ve Soy isim kısmında bazı harfler eksik çıkmış

TC kimlik numaram ve diğer bilgilerim doğru olmasına rağmen ve bu hatayı uçuştan 3 gün önce fark edip web customer Müşteri hizmetleri Call Center ve hatta Genel Müdürlüğe kadar gidip durumu izah etmeme rağmen hiç bir işlem yapılamayacağını ne biletin ücretini iade edeceklerini nede uçuşuma izin veremeyeceklerini dile getiriyorlar

Uçuş promosyon bilet olduğu için parayı THYye hibe etmemizi ima ediyorlar Hiçbir kurumdan yardım alamadık hangi bölümünü aradıysak teknik sorun yok hata yapmışsınız deyip ödeme yapamayacaklarını söylediler"
-------------------------------------

nasıl bir çözüm uygulayabilirim? amacım text to column yaptığımda text teki tüm keliemeleri ayrı hücrelere yerleştirebilmek. yardımcı olursanız sevinirim.

Çağdaş
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Küçük bir örnek dosya ekleyerek açıklarmısınız.

.
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Merhaba,

Resimdeki gibi yapınca olmuyormu?

Önce TIRM() yaptıktan sonra resimdeki gibi yaparsanız olur gibi geliyor.
 

Ekli dosyalar

Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
maalesef dediklerinizi ben de denedim zaten ama olmuyor.
trim zaten hayalkırıklığına uğrattı beni, ikinci yöntemde de hücreleri tek tek seçince istediğimi elde ediyorum ama bu veri 10000 satırlık da olabilir, toplu olarak seçip sütunlara parçalayabilmem lazım yani. onun içinde her kelimenin arasında tek bir boşluk bırakıp öyle devam etmem gerekiyor.

ekte örnek bi veri var, yardımınız için sağolun.
 

Ekli dosyalar

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Sırasıyla Ctrl h yapıp Aranan kısmına alt tuşuna basılı tutarak 010 yazın yeni değer kısmına normal bir boşluk yapın ve tümünü değiştir deyin.. daha sonra resimdeki gösterdiğimi yapın.. arada kırparsanızda iyi olur(TRIM)
 
Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
ALT tuşu ile dediğiniz rakamlara basınca hiçbir karakter basılmıyor.
Yanlış oldu herhalde? Alt Gr ile de denedim dediğinizi ama yine olmadı
maalesef.
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
çıkmayacak zaten :) siz dediğimi yapın.. görünmeyen boşluk çıkıyor..
 
Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
denedim fakat olmadı maalesef yine :)
bnm boşluklar hala durmaya dvm ediyorlar
 
Katılım
13 Mart 2006
Mesajlar
142
Excel Vers. ve Dili
2007 ve sonrası (TR)
merhaba;
Kod:
Function boslukkaldır(txt)
a = Len(txt)
    For t = 1 To a
     k = Mid(txt, t, 1)
    If k = Chr(10) Then
    
Else
y = y + k
End If
Next
boslukkaldır = y
y = ""
End Function
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Alternatif olsun.

Module kopyalayarak çalıştırınız.

Kod:
Sub Duzenle()
 
Application.ScreenUpdating = False
    Application.DisplayAlerts = False
 
    Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, Tab:=True, Other:=True, OtherChar _
        :="" & Chr(10), TrailingMinusNumbers:=True
 
    sat = ActiveSheet.UsedRange.Rows.Count
    sut = ActiveSheet.UsedRange.Columns.Count
 
    For j = sut To 1 Step -1
        If j Mod 2 = 0 Then Columns(j).Delete
    Next j
 
    For i = 1 To sat
        For j = 2 To sut
            Range("A" & i) = Range("A" & i) & " " & Cells(i, j)
        Next j
    Next i
 
    Range(Cells(1, 2), Cells(sat, sut)).ClearContents
 
    Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Space:=True
 
    Cells.HorizontalAlignment = xlLeft
    Cells.EntireColumn.AutoFit
 
    Application.DisplayAlerts = True
Application.ScreenUpdating = True
 
End Sub
.
 
Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
Ömer Bey çok teşekkür ederim, çok makbule geçti.
Farklı bir konu başlığında aynı örneğin devamını paylaştım, oradaki amacım da
bu parçaladığım verileri tek sütunda toplayabilmek. O soruda da yardımınızı talep etmekteyim.
Saygılar,
 
Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
Ömer bey tekrar selamlar, yukarıda yazdığınız makro koduna ilaveten text to column eklemeniz de mümkün müdür?

amacım tüm boşlukları attıktan sonra kelimelerin her birini ayrı hücrelere bölmek.

saygılar,yardımlarınız için de tekrar tekrar teşekkürler.

-----

çok özür dilerim ömer bey, çözümünüz zaten sorumun cevabını da içeriyormuş, ne diyim valla büyüksünüz.

saygılar, çok çok teşekkürler...
 
Son düzenleme:
Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
ek olarak şunu sorayım Ömer Bey, kelimeler içinde yer alan * ve ? karakterlerini boşlukla değiştirmek istiyorum fakat bunlar özel karakterler olduğundan değiştir dediğimde tüm kelimeyi siliyor. bu özel karakterleri normal birer harf gibi tanıtıp boşlukla yer değiştirme, daha doğrusu kelimeden silme gibi bir olanağım var mıdır?
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
~?~ ve ~*~ gibi dener misiniz?
 
Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
çok sağolun Yiğit bey, bu arada yapmak istediğim şeyi anlatabildim mi tam olarak? ben aslında bir text mining modeli kurmaya çalışıyorum. müşteri şikayetleri içerisinde yer alan kelimeleri sıralayarak hangi kelimelerin ne sıklıkla tekrar ettiğini görmek ilk etaptaki hedefim.
literatürde böyle bir yönteme rastlamadım henüz, umarım karşılıklı yardımlaşmalarımız sayesinde böyle bir modelin temelini atacağız.
çok sağolun tekrardan.
saygılar,
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Ekteki dosyayı inceler misiniz?

=ayır($A$2;SATIR(A1);" ") yazıp aşağı doğru çekerseniz A2 hücresindeki yazıyı satırlara dağıtır.. 5. mesajda dediklerimi yapabilseniz işiniz çok kolaylaşacak.. çünkü ben yaptım istediğiniz gibi oldu..

Kod arşivimden(Sanırım Ömer beyden) Kendisine tekrar teşekkürler..
 

Ekli dosyalar

Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
sanırım buna gerek kalmadı Yiğit bey, çünkü Ömer beyin yazdığı kodla bunu formüle gerek kalmadan yapabiliyorum.
şu an daha farklı sıkıntılar var, örneğin birbirine benzeyen keliemeleri standardize etmek gibi...
mesela alt alta 3 kelime olduunu düşünün şu şekilde : uçuyorum, uçuyordum, uçuyorduk
ben bu üçünü aynı kelimeye dönüştürmem lazım anlamlı bi rapor oluşturuabilmek için...
belli iterasyonlar yaparak birşeyler yaptım ama oldukça uğraştıracak.
bunu yaparken search fonksiyonunu kullanıyorum. sizin tavisye edeceğiniz başka bir formül varsa söylerseniz memnun olurum. saygılar,
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Yardımcı olmayı çok isterim ama beni aşan konular. Size tavsiyem yeni bir konu açın Ömer beyin koduyla çalışan dosya ekleyin ve sorunuzu sorun
(sorunuzu hem dosya içine hem konu içine yazın)
Ayrıca 2003 formatında eklemeye özen gösterin, herkeste 2007 yok..
 
Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
tamamdır, ben önce üzerinde biraz çalışayım.
gerçekten çok teşekkür ederim paylaşımlarınız için.
saygılar,
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Ayrıca Sn. excel03 uğraşıp bişeyler paylaşmış, hakkını yememek lazım.. Teşekkürler..

merhaba;
Kod:
Function boslukkaldır(txt)
a = Len(txt)
    For t = 1 To a
     k = Mid(txt, t, 1)
    If k = Chr(10) Then
    
Else
y = y + k
End If
Next
boslukkaldır = y
y = ""
End Function
 
Üst