title: Excel Macro - Round Date up to nearest 1st or 15th day of month
body: <p><strong>The backstory:</strong> </p>
  
  <p>I'm developing a website for client that is selling subscription products that will only be shipped out in batches on the 1st and 15th of the month.  She will be sending the orders to her fulfillment house and is not too tech savvy, so I need to write a macro for her that will automatically delete any rows from the orders export csv file that do not belong in the current shipment, i.e. remove subscription orders that have expired and old non-subscription orders.  The order export will always include orders from all time.</p>
  
  <p><strong>Data I have to work with:</strong></p>
  
  <ul>
  <li>ORDER CREATION DATE - timestamp of order</li>
  <li>SUBSCRIPTION LENGTH - Subscriptions are available for 3,6,9 or 12 months (She also sells non-subscription items, which will have a length of 0)</li>
  </ul>
  
  <p><strong>Data I want to create with macro:</strong></p>
  
  <ul>
  <li>BATCH DATE(Date of shipment it will go out in)</li>
  <li>LAST SHIPMENT(What's the last shipment batch it will go out in)</li>
  </ul>
  
  <p><strong>How I think the macro will work:</strong></p>
  
  <ol>
  <li><p>CREATE BATCH DATE - Populate BATCH DATE column by rounding "Order Creation Date" value up to the next shipment date(1st or 15th of month)</p></li>
  <li><p>CREATE LAST SHIPMENT - Populate LAST SHIPMENT column with the sum of SUBSCRIPTION LENGTH and BATCH DATE</p></li>
  <li><p>DELETE EXPIRED ORDERS - Delete the rows of any orders where LAST SHIPMENT &lt; NOW</p></li>
  </ol>
  
  <p>This seems logical to me and from poking around on some sites it all seems possible in Excel, I just can't seem to get the first part(rounding up the next 1st or 15th of month) working, which is really the keystone of the whole thing!</p>
  
  <p>Any insight is greatly appreciated!</p>