Hücre sonundaki boşluğu silerek, sayı formatı çevirme

Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Merhaba arkadaşlar. ekli dosyamda sistemden aldığım sayılar var ancak bunların hepsinin sonunda bir boşluk olduğu için toplama yapmıyor, birde sistem sayı formatı 0.00 ile 1,568.00 şeklinde veriyor, oysa ben sayı formatını 0,00 ile 1.568,23 şeklinde olması sağlamak için sizlerden bir makro yazmanızı talep ediyorum. Saygılarımla . . . .
 

Ekli dosyalar

Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Dosyanızı indirme imkanın yok ama;
Eğer hücrede "metin olarak saklanan sayı" şeklinde görünmüyorsa ek dosyadaki kodları (kendi dosyanızda yedeğini alarak) deneyelim.
Kodlar "A" sütununa göredir "columns(1)" kısımlarını dosyanıza göre değişirsiniz.
https://www.dosyaupload.com/sTeK
Kod:
Private Sub CommandButton1_Click()

Dim a As String, b As String, c As Boolean
Columns(1).NumberFormat = "#,##0.00"
       With Application
       a = .DecimalSeparator
       b = .ThousandsSeparator
       c = .UseSystemSeparators
       .DecimalSeparator = "."
       .ThousandsSeparator = ","
       .UseSystemSeparators = False
       End With
Columns(1).Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
       With Application
       .DecimalSeparator = a
       .ThousandsSeparator = b
       .UseSystemSeparators = c
       End With
End Sub
 
Son düzenleme:
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Sayın abim sizin kodu benim dosyamda denedim, yapmadı her hücrenin sonunda bir boşluk var acaba ondan mı? Sizin dosyanızı da inceledim, sizde hücre sonunda boşluk bırakmışsınız oluyor, benim örnek dosyamdaki verileri kopyalayarak sizin dosyanıza yapıştırdım makro çalışmadı Dosyayı linke yükledim. Bakarsan sevinirim. Teşekkür ederim.

 
Son düzenleme:
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba Hacı bey
Sizin dosyadaki boşluk asci kodu 32 olan boşluk değilmiş, onun yerine aşağıda "chr(160)" ile değişti .
Aşağıdaki gibi deneyelim.
Kod:
Private Sub CommandButton1_Click()

With Columns("B:D")
.NumberFormat = "#,##0.00"
.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
End With

End Sub
 
Son düzenleme:
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Sayın abim çok teşekkür ederim çalıştı eline sağlık dua ile kal...
 
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Merhaba arkadaşlar; İnternet aldığım verileri, 4 nolu mesajla sayıya çeviriyordum, ancak şimdi de ekli dosyamdaki gibi bir hale çevirdi, bunu tekrar sayıya çevirmek için koda nasıl bir ekleme yapmak lazım.
Private Sub CommandButton1_Click()

With Columns("H:J")
.NumberFormat = "#,##0.00"
.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
End With

'ek kod

End Sub
Teşekkür ederim.
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Şu kodları ilave edip dener misiniz?

PHP:
    [K1] = 1
    Range("K1").Copy
    Range("H2:J2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
    [K1].ClearContents
 
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Yusuf abim denedim olmadı. Sadece alanı seçili yaptı. Hücrenin sol üst köşesindeki yeşil alan hala duruyor.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Şöyle deneyin:

PHP:
Dim hucre As Range
son = Cells(Rows.Count, "H").End(3).Row
Application.ScreenUpdating = False
    For Each hucre In Range("H2:J" & son)
        hucre = hucre * 1
    Next
Application.ScreenUpdating = True
 

Mahir64

Destek Ekibi
Destek Ekibi
Katılım
19 Nisan 2006
Mesajlar
6,677
Excel Vers. ve Dili
Excel 2013-Türkçe
Excel 2016-Türkçe
Merhaba,

Boş bir hücreye 1 yazıp ilgili alanları seçtikten sonra özel yapıştır-çarp deseniz işinizi görmüyor mu?
Yusuf beyin kodlarda bu işlemi yapıyor. Kod kullanmadan çözmek isterseniz.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Merhaba,

Boş bir hücreye 1 yazıp ilgili alanları seçtikten sonra özel yapıştır-çarp deseniz işinizi görmüyor mu?
Yusuf beyin kodlarda bu işlemi yapıyor. Kod kullanmadan çözmek isterseniz.
Benim #7 nolu mesajda verdiğim kod temelde öyle yapması gerekiyor ama nedense kendisinden bekleneni yapamıyor. Bu nedenle #9 nolu çözümü önerdim.
 
Katılım
24 Şubat 2009
Mesajlar
1,077
Excel Vers. ve Dili
2016
Altın Üyelik Bitiş Tarihi
01-03-2023
Sayın Yusuf abim oldu çok teşekkür ederim. Eline sağlık hayırlı Ramazanlar.
 
Üst