Peter, here's the process I'm using to figure out how to write the code.

1) Determine what is needed

  • Bottom Cell + 1 in J to start the Find from
  • Bottom Cell in I
  • MAX(Cell in I 30 days before Bottom of I OR Top cell in I)
  • Const NumRecords = 1
  • Const RecordWidth = 7 (columns)
  • Relevant Range (From MAX to Bottom + 1)
  • Allow for skipped dates and sections



2) Decide on the basic algorithm

  • Iterate down Relevant Range (Cel)
  • Find xlUp Relevant Range
  • Stop when Cel.Address = Found.Address



3)Guess at future possibilities

  • more than one months records.
  • Auto-compress outdated section to totals
  • Auto-insert new Day Section



4 Determine what knowledge is still needed (you tell me the answers.)

  • Determine macro trigger (Manually Triggered From Menu?)