YAZILMIŞ FORMÜLLERİ YUVARLA OLARAK DEĞİŞME

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,686
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
formüllü hücreleri tek seferde yuvarla haline getirilmesi
merhaba sayın hocalarım az önce bana sorulan soruyu size iletmek istedim
Örneğin B4:B100 arasında hepsinde ayrı ayrı formüller var
tek seferde bu formülleri yuvarla(formul;2) yapılabiliyor mu

kişi formülleri yapmış fakat hepsi en başından beri yuvarla ile yapılması gerekirdi yardımcı hücre kullanamıyor nasıl dönüştürebilir
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
757
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Excel'deki formülleri YUVARLA fonksiyonu ile düzenlemek mümkündür, ancak bunu tek bir işlemde yapmak için birden fazla adım gerekir. Ne yazık ki, doğrudan hücredeki mevcut formülleri otomatik olarak değiştirmek (örneğin, her formülü YUVARLA fonksiyonuyla yapmak) için Excel'de yerleşik bir özellik yoktur.makro ile çözüm üretebilirsiniz şöyle ki ;

Kod:
Sub YuvarlaFormulleri()
    Dim cell As Range
    Dim formula As String
 
    For Each cell In Range("B4:B100")
        If cell.HasFormula Then
            formula = cell.Formula
           
            cell.Formula = "=YUVARLA(" & Mid(formula, 2) & ", 2)"
        End If
    Next cell
End Sub
Bu işlem, B4:B100 arasındaki tüm formülleri 2 ondalık basamağa yuvarlanacak şekilde otomatik olarak dönüştürecektir.
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,686
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
256651

bu formüllerin hepsi tek seferde YUVARLA(formül;2) haline dönüşebilir mi
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,686
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
makro ile çözüm geldikten sonra sorumu iletmiş oldum
teşekkürler makrolu çözüm için
makroyu şöyle genişletebilir miyiz formüller birden faz alalıkta olması durumunda
örneğin B4:B100, K4:AA4, AB2:AB50 gibi kaç tane aralık varsa makroya eklenebilir hale dönüştürebilir miyiz
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
757
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Sub YuvarlaFormulleri()
Dim cell As Range
Dim formula As String

For Each cell In Range("B4:B100")
If cell.HasFormula Then
formula = Mid(cell.Formula, 2)
cell.Formula = "=YUVARLA(" & formula & ", 2)"
End If
Next cell
End Sub

Bu kodu çalıştırdığınızda, B4:B100 aralığındaki tüm formüller, örneğin =+$I$12*N11 gibi formüller =YUVARLA(+I$12*N11, 2) şeklinde yuvarlanmış olacaktır. Bu şekilde, her hücredeki formüller iki ondalık basamağa yuvarlanacaktır.
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,686
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
makroyu şöyle revize edebilir miyiz
örneğin B4:B100, K4:AA4, AB2:AB50 gibi kaç tane aralık varsa makroya eklenebilir hale dönüştürebilir miyiz
 
Son düzenleme:

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,686
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
For Each cell In Range("B4:B100")
bu kısmı ("B4:B100", "C3:C40", "AB45:AB1500") yaptım sonuçları aldım bi hata varmı acaba
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
757
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Kod:
Sub YuvarlaFormulleri()
    Dim cell As Range
    Dim formula As String
    Dim araliklar As Variant
    Dim aralik As Variant   
  
    araliklar = Array("B4:B100", "K4:AA4", "AB2:AB50") ' Buraya istediğiniz aralıkları ekleyebilirsiniz   
  
    For Each aralik In araliklar
        For Each cell In Range(aralik)
            If cell.HasFormula Then
                formula = Mid(cell.Formula, 2)
                cell.Formula = "=YUVARLA(" & formula & ", 2)"
            End If
        Next cell
    Next aralik
End Sub
Eğer başka aralıklar eklemek veya çıkarmak isterseniz, araliklar dizisindeki aralıkları güncelleyebilirsiniz. Örneğin, yeni bir aralık eklemek için şöyle yazabilirsiniz:

araliklar = Array("B4:B100", "K4:AA4", "AB2:AB50", "C1:C20")

Bu şekilde, istediğiniz kadar aralık ekleyebilirsiniz.
 
Üst