This is simply achieved using VLOOKUP.
For example in cell B2 of your empty sheet put the formula
=VLOOKUP($A2,Workers!$A:$C, 2, 0)
and in cell C2 of your empty sheet put the formula
=VLOOKUP($A2,Workers!$A:$C, 3, 0)
Note that it is better (quicker) to use
INDEX and MATCH[
^] if you have a lot of columns looking up to the same row.
All you have to do is drag the formulae down the page.
Alternatively you can set up the formulae or clear the contents if a number is deleted by putting some VBA behind the sheet.
Right-click on the sheet that you want to populate and select "View Code".
This will take you to an empty code module for the sheet. Paste in the following code
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
If Len(Target.Value2) > 0 Then
Target.Offset(0, 1).Formula = "=VLOOKUP(" & Target.Address & ",Workers!A:C, 2, 0)"
Target.Offset(0, 2).Formula = "=VLOOKUP(" & Target.Address & ",Workers!A:C, 3, 0)"
Else
Target.Offset(0, 1).ClearContents
Target.Offset(0, 2).ClearContents
End If
End If
End Sub
Now when you select an item from the drop down in column A, columns B and C will be populated with the first name and last name from the "Workers" sheet. If you delete the contents of a cell in column A then the formulae will be removed from columns B and C.
Beware - this code does not handle a range of cells being changed at the same time, e.g. if you paste a set of values into column A