Unfortunately I don't fully follow all of your code, but can make
the following comment based on you worded question.
You use the Term "Database", but it is not clear if you mean that
officially or that it is just 'your data area'.
*If* you truly declare it as a Database (an Excel Database - I don't
remember how... See Excel Help, not VBA Help) the database will
automatically expand when you enter new data. I don't recall if the
following is necessary, but you may be required to have one extra row
at the bottom that is kept empty, so Excel can insert and move that
cell down. It's been a long time since I used a database as a club
treasurer, but it expanded automatically for me. I also used a form
to add the data - all, I'm pretty sure, without Macros
If, on the other hand, you simply give it a range Name
(not using the "A1:D4" format, but an actual
Range-Name and reference it something like
this line that clears a range >
Sheet3.Range("Test_Name") = ""
you can include one extra row and insert rows or cells, in that blank
area then the Named-Range will expand to include the new cell(s).
I do this all the time with Sums and other formulas on the sheet
without macros.
You "Name" a range *in* the sheet by manually selecting it, then
giving it a name either in the upper left name box, or in the
Menu> Insert> Name> Define. Or by doing it in a Macro (I just
figured this out myself) like this:
Range("A1:F7").Name = "Test_Name"