• DİKKAT

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

Makro ile yuvarlama

Katılım
2 Şubat 2016
Mesajlar
71
Excel Vers. ve Dili
2010 türkçe
M sütünda

35.500,50
9.000,10
61.283,32
21.810,25

gibi sıralanmış rakamları var bu sütünu " =AŞAĞIYUVARLA(M2;0) " gibi makro ile aşağı yuvarmak istiyorum yardımcı olabilirmisiniz

ÖRN : 35.500,50 - YERİNE ; 35.500,00
 
M2 den başlar.Buyurun.:cool:
Kod:
Dim sonsat As Long, i As Long
sonsat = Cells(Rows.Count, "M").End(xlUp).Row
For i = 2 To sonsat
    Cells(i, "M").Value = Round(Cells(i, "M").Value, 0)
    Cells(i, "M").NumberFormat = "#,##0.00"
Next i
MsgBox "İşlem tamam." & vbLf & "evrengizlen@hotmail.com"
 
çok sağolun bunu forma koysam form açılır açılmaz otomatik çalışsa nasıl yaparız
 
,5 ve aşağısı aşağı,yukarısı ise yukarı yuvarlanır.:cool:
 
Üstadım bana virgünden sonrasını rakam kaç olursa olsun sıfırlaması lazım
 
Üstadım bana virgünden sonrasını rakam kaç olursa olsun sıfırlaması lazım

Zaten öyle oluyor.Yani yuvarlıyor.,5 ten büyükse yukarı yuvarlıyor.,5 ve aşağı ise aşağı yuvarlıyor.virgülden sonra sıfır oluyor yani.:cool:
 
Alternatif;

Kod:
Sub AŞAĞIYAYUVARLA()
    Dim Veri As Range, Son As Long
    Son = Cells(Rows.Count, "M").End(3).Row
    For Each Veri In Range("M2:M" & Son)
        If Veri.Value <> "" And IsNumeric(Veri.Value) Then
            Veri.Value = WorksheetFunction.RoundDown(Veri.Value, 0)
        End If
    Next
End Sub
 
Yuvarlamak değilde virgülden sonrasını atmak ve tamsayı elde etmek istiyorsanız aşağıdaki kodu kullanabilirsiniz.:cool:
Kod:
Dim sonsat As Long, i As Long
sonsat = Cells(Rows.Count, "M").End(xlUp).Row
For i = 2 To sonsat
    Cells(i, "M").Value = Int(Cells(i, "M").Value)
    Cells(i, "M").NumberFormat = "#,##0.00"
Next i
MsgBox "İşlem tamam." & vbLf & "evrengizlen@hotmail.com"
 
Üstadım şöyle izah edeyim bu kod ile 31.500,75 olan sayıyı 31.501,00 yapmakta

benim istediğim 31.500,00 yapması
 
Yuvarlamak değilde virgülden sonrasını atmak ve tamsayı elde etmek istiyorsanız aşağıdaki kodu kullanabilirsiniz.:cool:
Kod:
Dim sonsat As Long, i As Long
sonsat = Cells(Rows.Count, "M").End(xlUp).Row
For i = 2 To sonsat
    Cells(i, "M").Value = Int(Cells(i, "M").Value)
    Cells(i, "M").NumberFormat = "#,##0.00"
Next i
MsgBox "İşlem tamam." & vbLf & "evrengizlen@hotmail.com"

Üstadım bu kod ilede 31.500,75 olan sayıyı 31.501,00 yaptı , 31.500,00 yapabilmek mümkünkü
 
Initialize'de eski kodları bırakmısım bunuda butonla denedim tesekkurler ustad iyi geceler
 
Geri
Üst