Poki
,
(29.6.2012 12:22)#008943
co takto:
Sub Zaokrouhlit_vzorce()
For Each Bunka In Selection
Vzorec = Bunka.Formula
Bunka.Formula = "=round(" & Right(Bunka.Formula, Len(Bunka.Formula) - 1) & ",2)"
Next Bunka
End Sub
Kadel
,
(29.6.2012 12:40)#008945 
Ta "-1" plní jakou funkci? Bude mít její smazání nějaký vliv na funkci kromě té, že to nebude ořezávat číslo?
Kadel
,
(29.6.2012 12:49)#008946 
Takže, pokud těch 125,5555 zadám jako hodnotu, tak se mi to ořízne a zůstane pouze 25,56. Ovšem když to zadám vzorcem (např. 100+25,5555), tak se to chová regulérně.
Poki
,
(29.6.2012 12:53)#008947
no, pokud nemate ve vsech bunkach vzorce (jak jste psal), tak to cislo bude osekle.
Jde o to, ze ta '-1' odebere rovnítko z toho vzorce, co by v bunce melo byt...
takze pokud mate ve vyberu bunky se vzorci i prostou hodnotou, tak musi kod vypadat jinak...
Kadel
,
(29.6.2012 12:58)#008948 
V tom případě bude lepší, aby to fungovalo pro oba případy. Ve výběru se mohou vyskytnou buňky se vzorcem i prosté hodnoty.
Mohl byste to upravit, aby to fungovalo správně?
Děkuji.
Poki
,
(29.6.2012 13:13)#008949
zadna velka zmena:
Sub Zaokrouhlit_vzorce()
Dim Bunka As Range
For Each Bunka In Selection
If Bunka.HasFormula = True Then
Bunka.Formula = "=round(" & Right(Bunka.Formula, Len(Bunka.Formula) - 1) & ",2)"
Else
Bunka.Formula = "=round(" & Right(Bunka.Formula, Len(Bunka.Formula)) & ",2)"
End If
Next Bunka
End Sub