This article is written by Myles Arnott from Excel Audit
In the first part on our Modeling Best Practices series, we learned 5 best practices to follow. This article shows how to automatically implement the best practices using macros.

Quick Re-cap on Modeling Best Practices
Make cell content and cell purpose visually identifiable at all times
In the first article I highlighted the fact that the content and purpose of every cell should be easily identifiable to the user at all times.
At a basic level we can identify two basic cell types:
| Type | Background | Font | Protection |
| Assumption or constant | White | Blue | No |
| Output | Grey | Black | Yes |
Best Practice formatting made easy
In order to make the application of Best Practice formatting quicker and easier I have created three simple macros. These macros use Excel’s Go To Special function and then some simple formatting to the active sheet.
Demo of the macros
Please watch this 5 minute demo to understand how the macros work.
[Click here to watch the video]
Overview of best practice macros
Auto_Format: automatically formats cells depending on their type:
- Number constants (i.e. input cells) are white background, blue font & unprotected
- Non number constants (e.g. formulae) are grey background, black text & protected
Constants_Format: formats selected cells as white background, blue text & unprotected
Formula_Format: formats selected cells as grey background, black text & protected
And a couple of extras:
Simple_Audit: A Simple Audit Macro that uses the go to special function to select and highlight specific cell types. This is the macro from the Managing Spreadsheet Risk article.
Clear_format: formats all cells as white background, black text & protected
A word of warning: These macros apply formatting to your spreadsheets. This formatting cannot be undone.
File to download
Since formatting steps vary for Excel 2003 & 2007, we have 2 versions of the files. Please download the appropriate file below:
These files have the macros embedded in them. You will need to move these macros into your personal workbook. Help on this.
Once in your personal workbook you can then add these to your QAT, or Ribbon.
Conclusion
Have a play with the macros on the example workbook and then, once you are happy with how to use them, you can start applying best practice formatting at the click of a button.
Let us know how you are implementing these best practices and your suggestions using comments.
Thanks to Myles
Many thanks to Myles for compiling all the tips & sharing this with us. If you have enjoyed this article, please say thanks to Myles. You can also reach him at Excel Audit or his linkedin profile.














13 Responses to “Data Validation using an Unsorted column with Duplicate Entries as a Source List”
Pivot Table will involve manual intervention; hence I prefer to use the 'countif remove duplicate trick' along with 'text sorting formula trick; then using the offset with len to name the final range for validation.
if using the pivot table, set the sort to Ascending, so the list in the validation cell comes back alphabetically.
Hui: Brillant neat idea.
Vipul: I am intrigued by what you are saying. Please is it possible to show us how it can be done, because as u said Hui's method requires user intervention.
Thks to PHD and all
K
Table names dont work directly inside Data validation.
You will have to define a name and point it to the table name and then use the name inside validation
Eg MyClient : Refers to :=Table1[Client]
And then in the list validation say = MyClient
Kieranz,
Pls download the sample here http://cid-e98339d969073094.skydrive.live.com/self.aspx/.Public/data-validation-unsorted-list-example.xls
Off course there are many other ways of doing the same and integrating the formulae in multiple columns into one.
Pls refer to column FGHI in that file. Cell G4 is where my validation is.
Vipul:
Many thks, will study it latter.
Rgds
K
[...] to chandoo for the idea of getting unique list using Pivot tables. What we do is that create a pivot table [...]
@Vipul:
Thanks, that was awesome! 🙂
@Playercharlie Happy to hear that 🙂
Great contribution, Hui. Solved a problem of many years!
Thanks to you, A LOT
Hi Hui,
Greeting
hope you are doing well.
I'm interested to send you a private vba excel file which i need to show detail of pivot in new workbook instead of showing in same workbook as new sheet.
Please contact me on muhammed.ye@gmail.com
Best Regards