In the 2nd part of the code, you didn't have B15. Try this...
Sub Macro4()

'Giving results what i want
If IsEmpty(Range("B15").Value) = False And IsEmpty(Range("C15").Value) = True Or IsEmpty(Range("D15").Value) = True Or IsEmpty(Range("E15").Value) = True Or IsEmpty(Range("F15").Value) = True Or IsEmpty(Range("G15").Value) = True Or IsEmpty(Range("H15").Value) = True Or IsEmpty(Range("I15").Value) = True Then

MsgBox ("Error")

Else
MsgBox ("No error")

End If

'Not giving results what i want

If IsEmpty(Range("B15").Value) = True And IsEmpty(Range("C15").Value) = False Or IsEmpty(Range("D15").Value) = False Or IsEmpty(Range("E15").Value) = False Or IsEmpty(Range("F15").Value) = False Or IsEmpty(Range("G15").Value) = False Or IsEmpty(Range("H15").Value) = False Or IsEmpty(Range("I15").Value) = False And IsEmpty(Range("B15").Value) = True Then

MsgBox ("Error")

Else
MsgBox ("No error")

End If

End Sub