• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan modoste
  • Başlangıç tarihi Başlangıç tarihi

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,712
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
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
 
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.
 
256651

bu formüllerin hepsi tek seferde YUVARLA(formül;2) haline dönüşebilir mi
 
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
 
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.
 
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:
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
 
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.
 
Geri
Üst