Why can I say,'Why do you like her so much?' but not, 'Why do you like her very much?'
Why can I say,'Why do you like her so much?' but not, 'Why do you like her very much?'
My answer is: 'Why' is evaluative and forces you to make (or consider) a comparison. Very cannot be used in comparative constructs.
A friend of mine raised the point: That 'very' seems to work in the negative form. For example: "Why don't you like her very much?"
Solution 1:
"Why do you like her so much?" is saying "why do you like her as much as you do, which is a lot?" ("So much".)
"Why don't you like her very much?" has the same meaning as saying "Why don't you like her much?" — the very just adds a little more politeness. (Again, it could be written "Why don't you like her?" — even less polite). The meaning could be you like her a bit (but not very much), and because the bit is ambiguous it's not as blunt and potentially destructive as saying "you dislike her". So with the extra politeness the person not liking the other person might be more tempted to open up and tell all (because they are shielded from controversy).
In English there is also the phrase "very much so" in answer to a question (although more used by middle-aged and older people than 20-year-olds), meaning "very much yes".
But in general, "very much" sounds bad to the English ear, normally "so much" or "as much as __" is more appropriate. To me "very much" sounds slightly coloquial, language for social use. I don't think the 'rules' of English are entirely logical though — it's more habit and culture.