Excel 2010 check cells in a row contain data before the Selection Change fires
<p>I have an Excel 2010 data table which is driven by a query from MSSQL.  The underlying query changes depending upon what options the user selects in the Excel workbook.  I'm okay with changing the query and pulling the data.</p>

<p>After the data has been selected multiple users will be able to edit and append data to the Excel table and these changes will post back to the SQL database table.  Due to the database table structure some of these cells within a given row are mandatory before any data can be inserted into MSSQL and/or potentially updated.  </p>

<p>So what I'm trying to achieve is checks on whether certain columns in a row are blank after a cell is edited (I can do this via Worksheet Change) and also before they move off that row so I can bring up a message if all mandatory columns haven't been entered.  I can't see any events that fire before Selection Change.  My only thoughts on a workaround is to have a global variable row marker that is updated on Selection Change, i.e. it will store the previous row number.  I can't use Excel's standard data validation functionality looking at blank cells because although this is fine for a currently correctly populated row that is being edited, inserting new rows or appending directly to the bottom of the table will constantly error as all those mandatory columns will, of course, be blank.  Currently I am using conditional formatting to at least highlight columns/cells that require input although this doesn't force users to actually do it.  Data cannot be stored within MSSQL until these columns contain data so if they don't fill them in and refresh the table for whatever reason, whatever they have entered will be lost.  Obviously this is bad, m'kay.  I am concerned about both the Worksheet Change and Selection Change events constantly firing and how that will affect workbook performance.</p>

<p>Any suggestions would be appreciated.  Maybe I'm going about this all wrong so any ideas to make this more efficient would also be well received.  The user base do not want to see UserForms or MS Access even though it would make this activity very easy.  They are too used to the look and feel of Excel sheets.</p>