[]

excelde belli aralıklara virgül ekleme
Merhaba,
Exvelin tek bir hücresinde yer alan metnin her 6 karakterinde bir virgül nasıl ekleyebilirim arkadaşlar?
Yani şunu;
064121065300062500
Şu hale;
064121,065300,062500
nasıl getirebilirim? Yine tek hücrede olmasını ama her 6 karakterde bir virgül eklenmesini istiyorum.
Şimdiden teşekkürler.
Exvelin tek bir hücresinde yer alan metnin her 6 karakterinde bir virgül nasıl ekleyebilirim arkadaşlar?
Yani şunu;
064121065300062500
Şu hale;
064121,065300,062500
nasıl getirebilirim? Yine tek hücrede olmasını ama her 6 karakterde bir virgül eklenmesini istiyorum.
Şimdiden teşekkürler.

Text-to-Columns özelliği ile 6 karakterlik parçalara bölüp, aradaki sütunlara virgül ekleyip, sonra Concatenate formülü ile hepsini bir sütunda birleştirebilirsin.
- cakabo
(09.05.19 14:52:06)

PARÇAAL ve BİRLEŞTİR formüllerini kullanarak yapabilirsiniz.
=parçaal(a1;1;6)&","&parçaal(a1;7;6).......
=parçaal(a1;1;6)&","&parçaal(a1;7;6).......
- kablelvuku
(09.05.19 14:52:52)

parça al ya da text to columns çalışıyor evet ama elimde yaklaşık 1200 karakterlik 6'li hale bölünmesi gereken hücre içeriği var :(
başka bir yolu daha olsa keşke?
başka bir yolu daha olsa keşke?
- it was me
(09.05.19 14:58:14)

her bir satır 1200 karakterli bir metin ise macro yazman gerekir
- €xpolerer
(09.05.19 15:21:08)

aşağıdaki macroyu yazıp sonra, örneğin A1 hücresinde text varsa B1 hücresine =fnSplit(A1;5;",") yazarsak çalışacaktır.
Public Function fnSplit(ByVal MyString As String, ByVal StringLen As Integer, ByVal Delimiter As String) As String
newStr = ""
For I = 1 To Len(MyString) Step StringLen
newStr = newStr & Mid$(MyString, I, StringLen) & Delimiter
Next
If Right(newStr, 1) = Delimiter Then
newStr = Left(newStr, Len(newStr) - 1)
End If
fnSplit = newStr
End Function
Public Function fnSplit(ByVal MyString As String, ByVal StringLen As Integer, ByVal Delimiter As String) As String
newStr = ""
For I = 1 To Len(MyString) Step StringLen
newStr = newStr & Mid$(MyString, I, StringLen) & Delimiter
Next
If Right(newStr, 1) = Delimiter Then
newStr = Left(newStr, Len(newStr) - 1)
End If
fnSplit = newStr
End Function
- altinci nesil caylak
(09.05.19 16:03:14)

Şu makroyu çalıştır:
Sub Macro1()
Dim metin As String
metin = Cells(1, 1)
Cells(2, 1) = Left(metin, 6) & ","
For i = 1 To 200
Cells(2, 1) = Cells(2, 1) & Mid(metin, 6 * i + 1, 6) & ","
Next i
End Sub
sonuç: eksiup.com
değişmesi gereken metin A1 hücresinde, sonucun yazılacağı hücre ise B1 hücresi olmalı. Eğer farklı hücreler istiyorsan makroyu ona göre değiştirmen lazım.
A1 ve B1 hücrelerinin biçimi 'Metin' olarak seçilmeli.
edit: virgülden sonra boşluk olsun istersen "," olan yerleri ", " olarak değiştirebilirsin. ya da makroyu çalıştırdıktan sonra excel'de Ctrl+H ile tüm virgülleri virgül+boşluk olarak değiştirebilirsin.
Sub Macro1()
Dim metin As String
metin = Cells(1, 1)
Cells(2, 1) = Left(metin, 6) & ","
For i = 1 To 200
Cells(2, 1) = Cells(2, 1) & Mid(metin, 6 * i + 1, 6) & ","
Next i
End Sub
sonuç: eksiup.com

değişmesi gereken metin A1 hücresinde, sonucun yazılacağı hücre ise B1 hücresi olmalı. Eğer farklı hücreler istiyorsan makroyu ona göre değiştirmen lazım.
A1 ve B1 hücrelerinin biçimi 'Metin' olarak seçilmeli.
edit: virgülden sonra boşluk olsun istersen "," olan yerleri ", " olarak değiştirebilirsin. ya da makroyu çalıştırdıktan sonra excel'de Ctrl+H ile tüm virgülleri virgül+boşluk olarak değiştirebilirsin.
- himmet dayi
(09.05.19 16:20:23 ~ 10.05.19 14:53:57)

makrolar için çok teşekkür ederim! oldu. gerçekten çok çok sağolun :)
- it was me
(09.05.19 16:36:03 ~ 16:36:21)

a kolonunu seçip hücre biçimlendirmeyi seçin, sol en atta "isteğe uyarlanmış" var onu seçin, sağ tarafta tür yazan yere ######,######,###### şunu yazın ve tamam a basın
- pislick0
(09.05.19 16:45:05)

@pislick0
öyle olmuyor.
öyle olmuyor.
- himmet dayi
(09.05.19 17:09:58)

himmet dayi bir mesaj gönderdim. mümkünse bakar mısın?
- it was me
(09.05.19 17:21:24)

baktım ve cevapladım.
Cells(2, 1) = Cells(2, 1) & Mid(metin, 6 * i - 1, 6) & ","
kısmını şöyle düzelttim:
Cells(2, 1) = Cells(2, 1) & Mid(metin, 6 * i + 1, 6) & ","
Cells(2, 1) = Cells(2, 1) & Mid(metin, 6 * i - 1, 6) & ","
kısmını şöyle düzelttim:
Cells(2, 1) = Cells(2, 1) & Mid(metin, 6 * i + 1, 6) & ","
- himmet dayi
(10.05.19 16:27:16)

evet yaptı valla. solved!
- it was me
(13.05.19 08:34:10)

tikle bari millet o kadar uğraştı senin için
- kablelvuku
(13.05.19 08:43:24)

evet ben de tik istiyorum :D
- himmet dayi
(14.05.19 08:39:31)
1