Click here to Skip to main content
15,895,740 members
Articles / Productivity Apps and Services / Microsoft Office / Microsoft Excel
Tip/Trick

Tip: Format an Excel Range as a Table Programatically

Rate me:
Please Sign up or sign in to vote.
5.00/5 (6 votes)
26 Aug 2011CPOL 79.2K   10   8
C# code to format a certain range of Excel cells using the Format As Table button -- but from C# interop code
Sometimes, you have a range of cells and you want to choose the Format As Table button to format the cells as a nice table.

Here's how to do that using Excel interop:

C#
public void FormatAsTable(Excel.Range SourceRange, string TableName, string TableStyleName)
{
    SourceRange.Worksheet.ListObjects.Add(XlListObjectSourceType.xlSrcRange,
    SourceRange, System.Type.Missing, XlYesNoGuess.xlYes, System.Type.Missing).Name =
        TableName;
    SourceRange.Select();
    SourceRange.Worksheet.ListObjects[TableName].TableStyle = TableStyleName;
}


That's it! To apply a table style, e.g. TableStyleMedium15, to a range of cells, you say:

C#
Excel.Range SourceRange = (Excel.Range)oSheet.get_Range("A6","X10"); // or whatever range you want here
FormatAsTable(SourceRange, "Table1", "TableStyleMedium15");


The "Table1" is just a random name for the table; it's arbitrary, but every table you format must be a unique range. The table style names you can find out by recording a macro, applying the formatting by hand, and then reading off of the VBA module what style name Excel filled in once you've stopped the recording.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Team Leader
United States United States
Dr. Brian Hart obtained his Ph.D. in Astrophysics from the University of California, Irvine in 2008. Under Professor David Buote, Dr. Heart researched the structure and evolution of the universe. Dr. Hart is currently employed as a Astrodynamicist / Space Data Scientist with Point Solutions Group in Colorado Springs, CO supporting Space Operations Command, United States Space Force. Dr. Hart is a Veteran of the U.S. Army and the U.S. Navy, having most recently served at Fort George G. Meade, MD as a Naval Officer with a Cyber Warfare Engineer designator. Dr. Hart has previously held positions at Jacobs Engineering supporting Cheyenne Mountain/Space Force supporting tests, with USSPACECOM/J58 supporting operators using predictive AI/ML with Rhombus Power, and with SAIC supporting the Horizon 2 program at STARCOM. Dr. Hart is well known to the community due to his over 150 technical publications and public speaking events. Originally from Minneapolis/Saint Paul, Minnesota, Dr. Hart lives in Colorado Springs with his Black Lab, Bruce, and likes bowling, winter sports, exploring, and swimming. Dr. Hart has a new movie coming out soon, which is a documentary called "Galaxy Clusters: Giants of the Universe," about his outer space research. The movie showcases the Chandra X-ray Observatory, one of NASA’s four great observatories and the world’s most powerful telescopes for detecting X-rays. The movie has been accepted for screening at the USAFA Planetarium and will highlight the need of updating and maintaining X-ray telescopes for scientific advancement.

Comments and Discussions

 
QuestionTIP: If style is not working Pin
Leo Gurdian14-Jun-17 12:25
Leo Gurdian14-Jun-17 12:25 
QuestionHow to find the strings corresponding to Table Style Pin
Sri Lakshmanan22-Mar-14 6:42
Sri Lakshmanan22-Mar-14 6:42 
AnswerRe: How to find the strings corresponding to Table Style Pin
Brian C Hart23-Mar-14 17:17
professionalBrian C Hart23-Mar-14 17:17 
GeneralGood Tip Pin
Kit Fisto2-Aug-12 6:43
Kit Fisto2-Aug-12 6:43 
GeneralRe: Good Tip Pin
Brian C Hart2-Aug-12 7:00
professionalBrian C Hart2-Aug-12 7:00 
GeneralReason for my vote of 5 My Vote 5 Pin
Abdul Quader Mamun17-Dec-10 5:11
Abdul Quader Mamun17-Dec-10 5:11 
GeneralGood tips Pin
Abdul Quader Mamun16-Dec-10 8:36
Abdul Quader Mamun16-Dec-10 8:36 
GeneralExcellent tip, firm 5! Pin
DrABELL17-Dec-10 16:14
DrABELL17-Dec-10 16:14 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.