Since the calculations seem to be quite involved and might be difficult to put on the sheet as a formula, then I would consider the pros and cons of having it so that, say, a double-click on a line you wanted to amend (a sheet double-click event) some checks would be made as to which cell was double-clicked on, and if it's on an existing data row then fire up the very same userform (the one which adds a line) but have the fields on that userform all filled out with values on the sheet taken from the same row. Some changes to the calculate_charge code would be needed, such as setting a boolean variable to act as a flag saying whether the userform is being used to add a row or to amend a row, and so change the way lrow is determined.
This approach would mean that the editing/amending process would be very familiar to you.
Bookmarks