Hücrede bulunan veride bulunan kelimeler arasına boşluk koyma

Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Merhabalar

A sütununda her satırda veriler var. Adres verisi gibi düşünelim

her kelimede kelimelerde bulunan harfler arasına 6 karakter boşluk karakteri eklemek istiyorum

Gerek bunu b sütununda formülle gerekse makro ile de olabilir

Örneğin
A2 hücresi : xxxxx mah. yyyy. sok. no:1 İstanbul

Bu verinin olması gereken hali
x x x x x m a h . y y y y . s o k . n o : 1 İ s t a n b u l



A3 Hücresi : aaa cd. bbb blv. ccc sitesi e blok no:2 İzmir

bu verinin olması gereken hali
a a a c d . b b b b l v . c c c s i t e s i e b l o k n o : 2 İ z m i r

Edit : olması gereken halinde 6 boşluk karakter koymuştum ama site bir karaktere indirmiş. her harf aralığı 6 karakter boşluk olmalıdır
 

excel41

Destek Ekibi
Destek Ekibi
Katılım
1 Ocak 2013
Mesajlar
759
Excel Vers. ve Dili
Excel 2019 Türkçe
buyrun; aralık karakterini kendinize göre uygulayın

Kod:
=METİNBİRLEŞTİR(" ";;PARÇAAL(A2;{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50};1))
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Yeni versiyonlarda olan bir formül, 2010 versiyonda çalışmayacaktır.
 

excel41

Destek Ekibi
Destek Ekibi
Katılım
1 Ocak 2013
Mesajlar
759
Excel Vers. ve Dili
Excel 2019 Türkçe
2010 da kullanılabilir birşey yazın lütfen erdem bey
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Merhabalar

formülü ingilizce olarak aşağıdaki gibi yazdım fakat #NAME? hatası çıkıyor. Excel versiyon 2016

=TEXTJOIN(" " ; ; MID(A2;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50};1))
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Evet profilimde excel 2010 olarak kalmış ona istinaden çalışmaz denmiş ama şu an ki excel versiyonum ingilizce 2016 ama belirttiğim şekilde yazınca #NAME? hatası çıkıyor
 

excel41

Destek Ekibi
Destek Ekibi
Katılım
1 Ocak 2013
Mesajlar
759
Excel Vers. ve Dili
Excel 2019 Türkçe
2010 kullanıyorsunuz diye herkes 2010 kullanmak zorunda değil hem soruyu soran ulaş beyin 2010 kullandığını nerden çıkardınız ?
ben 2019 kullanıyorum soruyu soran arkadaşımız,eğer sorun varsa bildirir ona göre çözüm üretirlir,demek bundan sonra bende herkese aynı uyarıları yapayım çok şık durur sanırım
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Bence yapmalısınız. Bunda art niyet yok.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
:) relax
ya benim infomda 2010 ingilizce yazıyordu. Erdem Bey ona istinaden sizin yazdığınız formülün çalışmayacağını iletmiş. ortada alınganlık yapmaya gerektirecek bir şey yok ;)

ama şu an info mu düzelttim ingilizce 2016 kullanıyorum. yani bu formül sorunsuz çalışması lazım fakat ilettiğiniz formül dediğim gibi bu hatayı verdi
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
2019 ve office365'te çalışıyor.
 

excel41

Destek Ekibi
Destek Ekibi
Katılım
1 Ocak 2013
Mesajlar
759
Excel Vers. ve Dili
Excel 2019 Türkçe
ulaş bey 2016 da hatırladığım kadarı ile çalıyor olması lazım siz yinede kontrol edermisiniz metinbirleştir fomülü varmı diye
ayrıca konu alınganlık değil , fikrimiz varsa beyan edelim yoksa susalım taraftarıyım ...
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Aşağıdaki kodu deneyiniz.

Kod:
Sub ayir()

son = Cells(Rows.Count, 1).End(3).Row

For Each hcr In Range("A1", "A" & son)

metin = hcr.Value
Dim dizi()

For i = 0 To Len(hcr.Value) - 1

deg = deg & Mid(metin, i + 1, 1) & Application.Rept(" ", 6)

Next i

hcr.Offset(0, 1) = deg

Next hcr

End Sub
 

excel41

Destek Ekibi
Destek Ekibi
Katılım
1 Ocak 2013
Mesajlar
759
Excel Vers. ve Dili
Excel 2019 Türkçe
umarım işinizi görecektir

Kod:
=PARÇAAL(A2;1;1)&" "&PARÇAAL(A2;2;1)&" "&PARÇAAL(A2;3;1)&" "&PARÇAAL(A2;4;1)&" "&PARÇAAL(A2;5;1)&" "&PARÇAAL(A2;6;1)&" "&PARÇAAL(A2;7;1)&" "&PARÇAAL(A2;8;1)&" "&PARÇAAL(A2;9;1)&" "&PARÇAAL(A2;10;1)&" "&PARÇAAL(A2;11;1)&" "&PARÇAAL(A2;12;1)&" "&PARÇAAL(A2;13;1)&" "&PARÇAAL(A2;14;1)&" "&PARÇAAL(A2;15;1)&" "&PARÇAAL(A2;16;1)&" "&PARÇAAL(A2;17;1)&" "&PARÇAAL(A2;18;1)&" "&PARÇAAL(A2;19;1)&" "&PARÇAAL(A2;20;1)&" "&PARÇAAL(A2;21;1)&" "&PARÇAAL(A2;22;1)&" "&PARÇAAL(A2;23;1)&" "&PARÇAAL(A2;24;1)&" "&PARÇAAL(A2;25;1)&" "&PARÇAAL(A2;26;1)&" "&PARÇAAL(A2;27;1)&" "&PARÇAAL(A2;28;1)&" "&PARÇAAL(A2;29;1)&" "&PARÇAAL(A2;30;1)&" "&PARÇAAL(A2;31;1)&" "&PARÇAAL(A2;32;1)&" "&PARÇAAL(A2;33;1)&" "&PARÇAAL(A2;34;1)&" "&PARÇAAL(A2;35;1)&" "&PARÇAAL(A2;36;1)&" "&PARÇAAL(A2;37;1)&" "&PARÇAAL(A2;38;1)&" "&PARÇAAL(A2;39;1)&" "&PARÇAAL(A2;40;1)
yada eşit aralıklı olmasını isterseniz
Kod:
=KIRP(PARÇAAL(A2;1;1)&" "&PARÇAAL(A2;2;1)&" "&PARÇAAL(A2;3;1)&" "&PARÇAAL(A2;4;1)&" "&PARÇAAL(A2;5;1)&" "&PARÇAAL(A2;6;1)&" "&PARÇAAL(A2;7;1)&" "&PARÇAAL(A2;8;1)&" "&PARÇAAL(A2;9;1)&" "&PARÇAAL(A2;10;1)&" "&PARÇAAL(A2;11;1)&" "&PARÇAAL(A2;12;1)&" "&PARÇAAL(A2;13;1)&" "&PARÇAAL(A2;14;1)&" "&PARÇAAL(A2;15;1)&" "&PARÇAAL(A2;16;1)&" "&PARÇAAL(A2;17;1)&" "&PARÇAAL(A2;18;1)&" "&PARÇAAL(A2;19;1)&" "&PARÇAAL(A2;20;1)&" "&PARÇAAL(A2;21;1)&" "&PARÇAAL(A2;22;1)&" "&PARÇAAL(A2;23;1)&" "&PARÇAAL(A2;24;1)&" "&PARÇAAL(A2;25;1)&" "&PARÇAAL(A2;26;1)&" "&PARÇAAL(A2;27;1)&" "&PARÇAAL(A2;28;1)&" "&PARÇAAL(A2;29;1)&" "&PARÇAAL(A2;30;1)&" "&PARÇAAL(A2;31;1)&" "&PARÇAAL(A2;32;1)&" "&PARÇAAL(A2;33;1)&" "&PARÇAAL(A2;34;1)&" "&PARÇAAL(A2;35;1)&" "&PARÇAAL(A2;36;1)&" "&PARÇAAL(A2;37;1)&" "&PARÇAAL(A2;38;1)&" "&PARÇAAL(A2;39;1)&" "&PARÇAAL(A2;40;
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
umarım işinizi görecektir

Kod:
=PARÇAAL(A2;1;1)&" "&PARÇAAL(A2;2;1)&" "&PARÇAAL(A2;3;1)&" "&PARÇAAL(A2;4;1)&" "&PARÇAAL(A2;5;1)&" "&PARÇAAL(A2;6;1)&" "&PARÇAAL(A2;7;1)&" "&PARÇAAL(A2;8;1)&" "&PARÇAAL(A2;9;1)&" "&PARÇAAL(A2;10;1)&" "&PARÇAAL(A2;11;1)&" "&PARÇAAL(A2;12;1)&" "&PARÇAAL(A2;13;1)&" "&PARÇAAL(A2;14;1)&" "&PARÇAAL(A2;15;1)&" "&PARÇAAL(A2;16;1)&" "&PARÇAAL(A2;17;1)&" "&PARÇAAL(A2;18;1)&" "&PARÇAAL(A2;19;1)&" "&PARÇAAL(A2;20;1)&" "&PARÇAAL(A2;21;1)&" "&PARÇAAL(A2;22;1)&" "&PARÇAAL(A2;23;1)&" "&PARÇAAL(A2;24;1)&" "&PARÇAAL(A2;25;1)&" "&PARÇAAL(A2;26;1)&" "&PARÇAAL(A2;27;1)&" "&PARÇAAL(A2;28;1)&" "&PARÇAAL(A2;29;1)&" "&PARÇAAL(A2;30;1)&" "&PARÇAAL(A2;31;1)&" "&PARÇAAL(A2;32;1)&" "&PARÇAAL(A2;33;1)&" "&PARÇAAL(A2;34;1)&" "&PARÇAAL(A2;35;1)&" "&PARÇAAL(A2;36;1)&" "&PARÇAAL(A2;37;1)&" "&PARÇAAL(A2;38;1)&" "&PARÇAAL(A2;39;1)&" "&PARÇAAL(A2;40;1)
yada eşit aralıklı olmasını isterseniz
Kod:
=KIRP(PARÇAAL(A2;1;1)&" "&PARÇAAL(A2;2;1)&" "&PARÇAAL(A2;3;1)&" "&PARÇAAL(A2;4;1)&" "&PARÇAAL(A2;5;1)&" "&PARÇAAL(A2;6;1)&" "&PARÇAAL(A2;7;1)&" "&PARÇAAL(A2;8;1)&" "&PARÇAAL(A2;9;1)&" "&PARÇAAL(A2;10;1)&" "&PARÇAAL(A2;11;1)&" "&PARÇAAL(A2;12;1)&" "&PARÇAAL(A2;13;1)&" "&PARÇAAL(A2;14;1)&" "&PARÇAAL(A2;15;1)&" "&PARÇAAL(A2;16;1)&" "&PARÇAAL(A2;17;1)&" "&PARÇAAL(A2;18;1)&" "&PARÇAAL(A2;19;1)&" "&PARÇAAL(A2;20;1)&" "&PARÇAAL(A2;21;1)&" "&PARÇAAL(A2;22;1)&" "&PARÇAAL(A2;23;1)&" "&PARÇAAL(A2;24;1)&" "&PARÇAAL(A2;25;1)&" "&PARÇAAL(A2;26;1)&" "&PARÇAAL(A2;27;1)&" "&PARÇAAL(A2;28;1)&" "&PARÇAAL(A2;29;1)&" "&PARÇAAL(A2;30;1)&" "&PARÇAAL(A2;31;1)&" "&PARÇAAL(A2;32;1)&" "&PARÇAAL(A2;33;1)&" "&PARÇAAL(A2;34;1)&" "&PARÇAAL(A2;35;1)&" "&PARÇAAL(A2;36;1)&" "&PARÇAAL(A2;37;1)&" "&PARÇAAL(A2;38;1)&" "&PARÇAAL(A2;39;1)&" "&PARÇAAL(A2;40;
bu kodlar arada bir boşluk bırakıyor ve belli bir karakterden sonrasından sonrasındakileri diğer hücreye yansıtmıyor sanırım 40 karakterden sonrası için işlemiyor.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
Bu kodu denedim fakat a1 hücresindekileri b1 e yazdı ama atıyorum a1 den A5 e kadar veri varsa B5 e kadar a1 hücresindeki verileri yazdı hep.

yani a2 de bulunan farklı bir veriyi B2 ye ayırarak yazmadı yine a1 deki veriyi ayırarak yazdı b2 ye

Merhaba,

Aşağıdaki kodu deneyiniz.

Kod:
Sub ayir()

son = Cells(Rows.Count, 1).End(3).Row

For Each hcr In Range("A1", "A" & son)

metin = hcr.Value
Dim dizi()

For i = 0 To Len(hcr.Value) - 1

deg = deg & Mid(metin, i + 1, 1) & Application.Rept(" ", 6)

Next i

hcr.Offset(0, 1) = deg

Next hcr

End Sub
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Aşağıdaki makroyu deneyiz.
A2 den itibaren değerleri B2 ye sizin istediğiniz şekilde yazar.
Kod:
Sub BirleştirBöl()
    lRow = Cells(Rows.Count, 1).End(xlUp).Row
    Range("A2:A" & lRow).Select
    Dim cell As Range
    For Each cell In Selection
        For x = 1 To Len(cell.Value)
            sstr = Left(Mid(cell.Value, x), 1)
            If sstr = " " Or sstr = " " Then
            Else
                nstr = nstr & "" & sstr
            End If
        Next x
        cell.Offset(0, 1).Value = nstr
        nstr = ""
        For x = 1 To Len(cell.Offset(0, 1).Value)
            sstr = Left(Mid(cell.Offset(0, 1).Value, x), 1)
            nstr = nstr & sstr & "      "
        Next x
        cell.Offset(0, 1).Value = nstr
       cell.Offset(0, 1).Value = Left(cell.Offset(0, 1).Value, Len(cell.Offset(0, 1).Value) - 6)
        nstr = ""
    Next cell
    MsgBox "işlem tamamlandı."
    Range("A2").Select
End Sub
6 adet boşluk hücrenin sonunda olmayacaksa cell.Offset(0, 1).Value = Left(cell.Offset(0, 1).Value, Len(cell.Offset(0, 1).Value) - 6) satırını koddan siliniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

Hız olarak avantaj sağlayabilir.

C++:
Option Explicit

Sub Harfler_Arasina_Bosluk_Ekle()
    Dim Veri As Variant, X As Long, Son As Long, Zaman As Double
    Dim Adres As Variant, Formul As String, Uzunluk As Integer
    
    Zaman = Timer
    
    Son = Cells(Rows.Count, 1).End(3).Row
    Veri = Range("A2:B" & Son).Value2
    
    For X = LBound(Veri) To UBound(Veri)
        If Veri(X, 1) <> "" Then
            Uzunluk = Len(Veri(X, 1))
            Formul = "=INDEX(MID(""" & Veri(X, 1) & """,TRANSPOSE(ROW(1:" & Uzunluk & ")),1),)"
            Adres = Evaluate(Formul)
            Veri(X, 2) = Join(Adres, Space(6))
        End If
    Next
    
    Range("A2").Resize(UBound(Veri, 1), UBound(Veri, 2)) = Veri
    Range("A:B").Columns.AutoFit
    
    MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye"
End Sub
 
Üst