• DİKKAT

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

hücredeki boşluk

Katılım
19 Ağustos 2022
Mesajlar
52
Excel Vers. ve Dili
excel 2016
Merhaba arkadaşlar, o kadar uğraşmama rağmen hücredeki boşluğu alamıyorum. Lütfen yardımcı olur musunuz?
Bu eklediğim excel verilerin bir kısmı, çoğu bu şekilde...
Pratik yolu olursa güzel olacak, yoksa tek tek hücreye girip boşluğu silmem gerek ki bu da çok zamanımı alacak.
şimdiden teşekkürler


19.546.881

120.252.684

87.693.583.983

151.700.562

53.718.306.475

422.869.355

24.436.681.893

35.281.103.104

141.894.696.384

88.629.520.236

3.431.892.088

556.849.970
 
bilgisayara baktığınızda en sağda kiminde 1 boşluk kiminde 2 boşluk var...ama ne ara-değiştir den boşluğu yok edebiliyorum ne de boşluk sayısı az olmadığı için metni sütunlara dönüştür den yapabiliyorum
 
biçimi genel ise veya metin ise sayı olarak değiştirdiğinizde boşluklar gidecektir.
 
yada =SAYIYAÇEVİR(C1) formülünü kullanabilirsiniz. c1 kısmına sayının olduğu hücreyi yazın aşağıya doğru çekin yada ek olarak ekleyin tablonuza bakalım.
 
Fonksiyonu kullanabilirsiniz.

Function RemoveWhiteSpace(target As String) As String
With CreateObject("VBScript.RegExp")
.Pattern = "\s"
.MultiLine = True
.Global = True
RemoveWhiteSpace = .Replace(target, vbNullString)
End With
End Function
 
yada =SAYIYAÇEVİR(C1) formülünü kullanabilirsiniz. c1 kısmına sayının olduğu hücreyi yazın aşağıya doğru çekin yada ek olarak ekleyin tablonuza bakalım.

#deger! hatası verdi hocam, dediğinizi yapmıştım, 1 ile özel yapıştır çarp yapmıştım hatta
 
Fonksiyonu kullanabilirsiniz.

Function RemoveWhiteSpace(target As String) As String
With CreateObject("VBScript.RegExp")
.Pattern = "\s"
.MultiLine = True
.Global = True
RemoveWhiteSpace = .Replace(target, vbNullString)
End With
End Function
fonksiyon olarak nasıl kullanacağım bilemedim hocam
 

sağloun hocam yazdım fonksiyonu ama aynı sonuç geldi,
sağdan boşlukları aynı kaldı


19.546.881

19.546.881

120.252.684

120.252.684

87.693.583.983

87.693.583.983

151.700.562

151.700.562

53.718.306.475

53.718.306.475

422.869.355

422.869.355

24.436.681.893

24.436.681.893

35.281.103.104

35.281.103.104

141.894.696.384

141.894.696.384

88.629.520.236

88.629.520.236

3.431.892.088

3.431.892.088

556.849.970

556.849.970

9.260.252.801

9.260.252.801

355.601.829

355.601.829

1.247.014.308

1.247.014.308

163.423

163.423

5.347.888.596

5.347.888.596

73.890.895

73.890.895
 
Sağdan silmek için

Sub sil()
Dim result As String
Last = Cells(Rows.Count, "A").End(xlUp).Row ' A sütununda ise
For i = Last To 1 Step -1
result = RTrim(Cells(i, "A"))
Next i
End Sub
 
tek
Sağdan silmek için

Sub sil()
Dim result As String
Last = Cells(Rows.Count, "A").End(xlUp).Row ' A sütununda ise
For i = Last To 1 Step -1
result = RTrim(Cells(i, "A"))
Next i
End Sub

tekrar teşekkürler ama olmadı hocam :(
bul değiştirin görmemesi ilginç, çift tıklayıp içine girince görünen boşluk neden görünmez anlamıyorum..
 
makroyu yazıyorum, bir şekle atıyorum, sonra tıklıyorum , öyle kalıyor hiç hareket olmuyor...
makro tam çalışmıyor olabilir mi hocam bilemedim
 
A sütununda ise işlem yapar.

Aslında şu fonsiyonda istediğinizi yapacağını umuyorum.
Hücredeki Rakama Harfe ve Noktaya izin verir.

Function cleanString(text As String) As String
Dim output As String
Dim c 'since char type does not exist in vba, we have to use variant type.
For i = 1 To Len(text)
c = Mid(text, i, 1) 'Select the character at the i position
If (c >= "a" And c <= "z") Or (c >= "0" And c <= "9") Or (c >= "A" And c <= "Z") Or (c >= "." And c <= ".") Then
output = output & c
Else
output = output & ""
End If
Next
cleanString = output
End Function
 
A sütununda ise işlem yapar.

Aslında şu fonsiyonda istediğinizi yapacağını umuyorum.
Hücredeki Rakama Harfe ve Noktaya izin verir.

Function cleanString(text As String) As String
Dim output As String
Dim c 'since char type does not exist in vba, we have to use variant type.
For i = 1 To Len(text)
c = Mid(text, i, 1) 'Select the character at the i position
If (c >= "a" And c <= "z") Or (c >= "0" And c <= "9") Or (c >= "A" And c <= "Z") Or (c >= "." And c <= ".") Then
output = output & c
Else
output = output & ""
End If
Next
cleanString = output
End Function

süper hocam, çalıştı ve hücredeki boşluğu sildi...

çok sağolun, teşekkür ederim...
kolay gelsin.
 
şu da var ki , prof olmamakla beraber excelle uzun yıllardır ilgilenen biri olarak geleneksel yöntemlerin neden işe yaramadığını halen anlayamıyorum, sağlık olsun :)
 
şu da var ki , prof olmamakla beraber excelle uzun yıllardır ilgilenen biri olarak geleneksel yöntemlerin neden işe yaramadığını halen anlayamıyorum, sağlık olsun :)

Aşağıdaki kod hücredeki karakterin kodunu verecektir. Bizim boşluk olarak gördümüz şey(TAB) aslında başka bir fonsiyondan gelen karakter olabilir.

Örnek olarak hücreniz A1 olsun. 9,10,11,12,13 vb. hep boşluk karakterleridir.
Kod:
Sub Makro1()
tellMeWhatCharValues (Range("A1"))
End Sub
Sub tellMeWhatCharValues(h As String)
Dim i
    For i = 1 To Len(h)
        MsgBox Asc(Mid(h, i, 1))
    Next i
End Sub

Ayrıntlı inclemek isterseniz.
Boşluk Karakterleri
 
Sizin boşluk olarak gördüğünüz karakterin kodu farklıdır. Bu gibi durumlarda hücre içine girip boşluk karakterini seçerek kopyaladıktan sonra CTRL+H ile değiştir menüsünü açınız. İlk kutuya kopyaladığınız karakteri yapıştırınız. Sonrasında tümünü değiştir diyerek boşluklardan kurtulmuş olursunuz.
 
Geri
Üst