Yes, this is possible.
Say you want to run your macro if data is entered into range A1:D10
Right click the worksheet tab and click View Code. This will open the code module of that worksheet. Use code like this:-
<pre>
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A1:D10")) Is Nothing Then YourMacroName
End Sub
</pre>
The worksheet change event is one of Excel VBA's built in events. You can write code like that above to repond to user actions.