How come this works?

if I place this formula in a cell

=IF(A1 <> "",ResetFont())


And in Module1 the Subroutine is

Sub ResetFont()
msgBox(ActiveCell.Value)
End sub


BUT this doesnt?

Sub ResetFont()
ActiveCell.Font.Size = 10
End sub


Also if I try


Sub ResetFont()
ActiveCell.Value = "1"
End sub

It throws an error in the cell with the =IF(...?