Probably because VB thinks 'proper' is a variable in this context and since it hasn't been defined, it will return the default value of null. This results in your data being deleted.
Code:
With selection
.value=worksheetfunction.proper(.value)
end with
Ought to work