• DİKKAT

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

seçilen hücrelere round uygulasın

Katılım
3 Temmuz 2006
Mesajlar
18
Excel Vers. ve Dili
Excel 2003 - İngilizce
seçtiğim hücreler round formülünü uygulayan bir makroyu nasıl yazabilirim?
 
[vb:1:d4f814f9dc]Sub Yuvarla()
For Each h In Selection.Cells
If IsNumeric(h) Then h.Value = Round(h.Value, 2)
Next
End Sub[/vb:1:d4f814f9dc]
 
çok teşekkürler, üzerinde olduğu hücreyi roundlatmasını bir türlü becerememeiştik.
 
Macroyu hücrenin içindeki linkleri ve formülleri silmeyecek şekilde yapabilir miyiz?
Yani makroyu çalıştırdığımda rakamları roundlasın fakat linkleri ve formülleri bozmadan. Tşk
 
Kodları deneyin, umarım işinizi görür.
[vb:1:57de7fa6ce]Sub Yuvarla()
Selection.SpecialCells(xlCellTypeConstants, 1).Select
For Each h In Selection.Cells
h.Activate
If ActiveCell.Hyperlinks.Count > 0 Then GoTo atla
If h <> "" And IsNumeric(h) Then h.Value = Round(h.Value, 2)
atla:
Next
End Sub[/vb:1:57de7fa6ce]
 
Sn veyselemre,

pardon yanlış anlattım derdimi galiba. hyperlink ya da formül varsa da roundlasın istiyorum ama formülleri ve hyperlinkleri bozmadan, yani yine onlar hücrenin içinde görünsün. yani şu şekilde =ROUND([Book1]Sheet1!$I$19;0) ya da
=ROUND(5+3,1223;0)
 
[vb:1:fe9129ef9a]Sub Yuvarla()
On Error Resume Next
'formüller
Cells.SpecialCells(xlCellTypeFormulas).Select
For Each h In Selection.Cells
If Left(h.Formula, 7) <> "=ROUND(" Then h.Formula = "=Round(" & Right(h.Formula, Len(h.Formula) - 1) & ",0)"
Next
'sabitler
Cells.SpecialCells(xlCellTypeConstants, 23).Select
For Each h In Selection.Cells
h.Activate
If h <> "" And IsNumeric(h) And Left(h.Formula, 7) <> "=ROUND(" Then
h.Value = Round(h.Value, 0)
End If
Next
End Sub[/vb:1:fe9129ef9a]
 
Çok teşekkür ediyorum
 
Geri
Üst