Here's an example of jumping to column B if an entry is made in column A:
<font face=Tahoma><SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Worksheet_Change(<SPAN style="color:#00007F">ByVal</SPAN> Target <SPAN style="color:#00007F">As</SPAN> Range)<br> <SPAN style="color:#007F00">' Code goes in the Worksheet specific module</SPAN><br> <SPAN style="color:#00007F">Dim</SPAN> rng <SPAN style="color:#00007F">As</SPAN> Range<br> <SPAN style="color:#007F00">' Set Target Range, i.e. Range("A1, B2, C3"), or Range("A1:B3")</SPAN><br> <SPAN style="color:#00007F">Set</SPAN> rng = Target.Parent.Range("A:A")<br> <SPAN style="color:#007F00">' Only look at single cell changes</SPAN><br> <SPAN style="color:#00007F">If</SPAN> Target.Count > 1 <SPAN style="color:#00007F">Then</SPAN> <SPAN style="color:#00007F">Exit</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br> <SPAN style="color:#007F00">' Only look at that range</SPAN><br> <SPAN style="color:#00007F">If</SPAN> Intersect(Target, rng) <SPAN style="color:#00007F">Is</SPAN> <SPAN style="color:#00007F">Nothing</SPAN> <SPAN style="color:#00007F">Then</SPAN> <SPAN style="color:#00007F">Exit</SPAN> <SPAN style="color:#00007F">Sub</SPAN><br> <SPAN style="color:#007F00">' Action if Condition(s) are met</SPAN><br> <SPAN style="color:#007F00">' Do your thing here</SPAN><br> <SPAN style="color:#00007F">If</SPAN> LenB(Target.Value) <> 0 <SPAN style="color:#00007F">Then</SPAN><br> MsgBox "You need to enter data in cells B" & Target.Row & "through D" & Target.Row, vbInformation + vbOKOnly, "Data Entry Required"<br> Target.Offset(, 1).Select<br> <SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN><br> <br><SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN></FONT>
I would imagine you'll need to add additional tests to see if B:D actually get filled in or not. Or you could use Input Boxes at that point, which would probably be the easiest way to ensure entry, because you can check if they're left empty.