3 basamaktan sonra nokta işareti

Korhan Ayhan

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

A1 hücresine 1-12 haneli rakamlar girdiğimde her 3 basamaktan sonra nokta işaretini nasıl ekleyebilirim. (Fonksiyon ve makrolu çözüm olarak örneklermisiniz.)
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheets("Sayfa1").Range("A1").NumberFormat = "#,##"
End Sub
 
Katılım
2 Aralık 2005
Mesajlar
142
selamlar
ondaklı bir rakam girersek yuvarlamayı nasıl önleyecez
çünkü yukarı tamamlıyor
iyi çalışmalar
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
0,5656565 gibi bir sayıyı 0,565,657 gibi yazmak istiyorsanız

NumberFormat = "#,##0.##0.000" şeklinde değiştirin

0,5656565 gibi bir sayının üste yuvarlanmamasını diyorsanız "0.0000000" olması gerekir.


Daha pratik olarak hücre biçimlendirden ondalık ayıracı kullanmanız daha mantıklı olacaktır
 

Korhan Ayhan

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

Arkadaşlar aradığım bu değildi diyelimki A sütununda 100101102 şeklinde değerler var. Tabi bu değerler 1 hanelide olabilir 12 hanelide ben bu değerlere her 3 basamaktan sonra nokta eklemek istiyorum.Yani sütundaki verileri aşağıdaki gibi düzenlemek istiyorum.

100
100.1
100.10
100.101
100.101.1
100.101.10
100.101.102 bu şekilde 12 haneye kadar...

şeklinde fonksiyon ile B sütununa yada makro ile aynı sütuna nasıl uygularım.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
100101102 Sayısını A1 hücresine yazarak aşağıdaki fonksiyonu denermisiniz.

=PARÇAAL(A1;1;3)&"."&PARÇAAL(A1;4;3)&"."&PARÇAAL(A1;7;3)
 

Korhan Ayhan

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

Sn. fructose ilgilendiğiniz için teşekkür ederim.Bu çözümü bende buldum fakat şöyle bir sorun oluyor.Diyelimki hücredeki değer 4 haneli olunca 123.4. şekline çeviriyor.Ã?rnekteki gibi 4 rakamından sonra nokta koymaması lazım.

123
123.4
123.45
123.456
123.456.7
123.456.78
123.456.789
123.456.789.0
123.456.789.01
123.456.789.012

noktalama işlemi yukarıdaki gibi şekilde olmalı.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Haklsınız COST_CONTROL siz yazdıktan sonra farkettim 12 li sayıları odaklandık ondandır :D en iyi number format ile çözüm bulmak.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Biraz uzun oldu ama iş görür sanırım

=EÐER(UZUNLUK(A1)<4;PARÇAAL(A1;1;3);EÐER(UZUNLUK(A1)<7;PARÇAAL(A1;1;3)&"."&PARÇAAL(A1;4;3);EÐER(UZUNLUK(A1)<10;PARÇAAL(A1;1;3)&"."&PARÇAAL(A1;4;3)&"."&PARÇAAL(A1;7;3);PARÇAAL(A1;1;3)&"."&PARÇAAL(A1;4;3)&"."&PARÇAAL(A1;7;3)&"."&PARÇAAL(A1;10;3))))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,228
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Arkadaşlar bu işlemi A sütunu için makro ile nasıl uygulayabiliriz.
 
Katılım
16 Aralık 2005
Mesajlar
130
Function Parcala(veri)
uzunluk = Len(veri)
If uzunluk < 4 Then
Parcala = Mid(veri, 1, 3)
ElseIf uzunluk < 7 Then Parcala = Mid(veri, 1, 3) & "." & Mid(veri, 4, 3)
ElseIf uzunluk < 10 Then Parcala = Mid(veri, 1, 3) & "." & Mid(veri, 4, 3) & "." & Mid(veri, 7, 3)
ElseIf uzunluk >= 10 Then Parcala = Mid(veri, 1, 3) & "." & Mid(veri, 4, 3) & "." & Mid(veri, 7, 3) & "." & Mid(veri, 10, 3)
End If
End Function

Sub Uygula()
[B1] = Parcala([A1])
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,228
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aslında benim kasdetmek istediğim bir butona bastığımda direkt olarak A sütununa uygulamaktı.
 
Katılım
16 Aralık 2005
Mesajlar
130
yukarıdaki fonksiyon ile A B C herhangi bir sütuna ugulayablirdiniz.

Sub parca()
uzunluk = Len([A1])
If uzunluk < 4 Then
[A1] = Mid([A1], 1, 3)
ElseIf uzunluk < 7 Then [A1] = Mid([A1], 1, 3) & "." & Mid([A1], 4, 3)
ElseIf uzunluk < 10 Then [A1] = Mid([A1], 1, 3) & "." & Mid([A1], 4, 3) & "." & Mid([A1], 7, 3)
ElseIf uzunluk >= 10 Then [A1] = Mid([A1], 1, 3) & "." & Mid([A1], 4, 3) & "." & Mid([A1], 7, 3) & "." & Mid([A1], 10, 3)
End If
End Sub

Function Parcala(veri)
uzunluk = Len(veri)
If uzunluk < 4 Then
Parcala = Mid(veri, 1, 3)
ElseIf uzunluk < 7 Then Parcala = Mid(veri, 1, 3) & "." & Mid(veri, 4, 3)
ElseIf uzunluk < 10 Then Parcala = Mid(veri, 1, 3) & "." & Mid(veri, 4, 3) & "." & Mid(veri, 7, 3)
ElseIf uzunluk >= 10 Then Parcala = Mid(veri, 1, 3) & "." & Mid(veri, 4, 3) & "." & Mid(veri, 7, 3) & "." & Mid(veri, 10, 3)
End If
End Function

Sub Uygula()
For Each i In Range("A1:A" & [A65536].End(xlUp).Row)
i.Value = Parcala(i.Value)
Next i
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,228
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Teşekkür ederim. :arkadas:
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
tbTutar.Text = Format(tbTutar.Text, "#,##;-#,##;0")

Vergi iade programında bu formül ile noktaya basıldığında yok sayıyor. Yani;
123,25 yazılması gerekirken
12.325 yazılıyor.
 

mnz

Katılım
5 Eylül 2005
Mesajlar
282
Excel Vers. ve Dili
Excel 2002 (Tr)
arkadaşlar bunu birtürlü çözemedim Formatta hata mı yapıyorum
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Formatı textboxun exit olayına yazın. Aşağıdaki gibi deneyin.

[vb:1:a463d0176b]Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Format(TextBox1, "#,##0.00")
End Sub
[/vb:1:a463d0176b]
 
Üst