Rather than using the entire worksheet as the source of the pivot table data, use a dynamic range. This will expand and contract as you add and remove data. You will just need to refresh your pivot table each time you change the data. This assumes that you have all your data at the top of the worksheet and are adding new data to the bottom, so the range will expand downwards.
In Excel 2010, go to the Formulas tab and select Name Manager. Create a New range, call it something like 'all_data' (spaces aren't allowed in the name). In the 'Refers to' box, use the following formula, adapted for your own data:
=OFFSET(Source!$A$1,0,0,COUNTA(Source!$A:$A),1)
To break this down:
Source!$A$1
reference - this is usually the top left cell of your data (usually the first cell in the header row)
0,0
rows,cols - you don't want to offset from the reference so these are both zero
COUNTA(Source!$A:$A)
height - this will count the number of non-blank cells in column A - change this to a column that will always have an entry for each row, for example the column that has an ID for each row
1
width - this is the number of columns across your data is - e.g. if you have columns A to E filled then this number would be 5
When you insert a new pivot table, type the named range (all_data) in the 'Table/Range' box, rather than selecting the entire worksheet.