That was the problem I could not solve: one way theoretically could be that it checks first if the word is lowercase and if yes it skips it. If there are some capital letters in it then it should put it with capital letter. This is the rule I need but I do not know how to do it.
thank you for your patience with me

this function I guess it does check if the word is lowercase?
Code:
Function AllLowerCase(stringToCheck As String) As Boolean
AllLowerCase = StrComp(stringToCheck, LCase(stringToCheck), _
vbBinaryCompare) = 0
End Function