Using this code you can update the table also if you have some blank lines...
Dim RowEnd As Double
Dim posi As String
Application.ScreenUpdating = False
posi = ActiveCell.Address
Range("B3").Select
While Selection.Row < 50000
Selection.End(xlDown).Select
If (Selection.Row < 50000) Then RowEnd = Selection.Row
Wend
ActiveSheet.ListObjects("Table1").Resize Range("$B$3:$C$" & RowEnd)
Range(posi).Select
Application.ScreenUpdating = True
I suppose you don't have more than 50000 lines... Eventually increase the value.
You can put inside a Button to Update the table, or adding the code in:
Private Sub Worksheet_Change(ByVal Target As Range)
In this case every time you change something inside the sheet the code check... If you work a lot on the sheet you can add a filter of range or adding a button for updating the data at the end of editing...