Pagebanner

ThreeWave Welcome

ShortFadeBar

This web site is brought to you as a public service by Chip Pearson and Pearson Software Consulting, LLC. We provide complete consulting and custom application design and development for Excel, Office, and Visual Basic. For more information about how to turn Excel into a powerful application platform, contact Chip Pearson at (913) 549-4658.

This web site contains nearly 300 individual topic pages that together cover all aspects of Excel, from simple formulas through Automation and COM Add Ins and into NET. The content is aimed at the intermediate level user although there is plenty of content for both beginners and advanced level users. Much of the content is VB/VBA code, and those pages assume that you are conversationally familiar with VB/VBA programming. I have been a professional computer programmer for almost twenty years, ten years of that in the Windows/VB/VBA/Excel world. The topics presented on the site are drawn from real world experience. There are approximately 175 downloadable files, which include sample workbooks, VB/VBA modules, and compiled DLL files.

The content of the site provides you with the tools you need to create workbooks and VBA projects. Since it is impossible to be all things to all people, the workbooks, formulas, and code examples are rather generic, allowing you to readily customize them for your own particular needs. The formulas and appearing on this site should work in any version of Excel, version 97 or later, unless noted otherwise. Most of the VBA code should work in Excel 97 and later, but I do make use of the enhanced features of VBA version 6, which was introduced with Excel 2000.

NEW! Weekly Excel Newletter From cpearson.com  
I am pleased to announce that beginning on 19-July-2007, I am writing and distributing an Excel Newsletter, a weekly email subscription that will feature techniques and examples for Excel and VBA.   Click here to subscribe. Past issues may be read on the Newsletter Archives page. The current edition explores the DSUM and the other data table related functions in Excel.

Help Logo


MVP New Logo

Microsoft
Most Valuable Professional
Excel
1999 - 2008


Page Index

Topic Index

Search The Site

What's New


Contact Chip Pearson
chip@cpearson.com
Before you send me an email,
read this page.

Phone:
(913) 549-4658
Note: This phone is for existing and new clients only. If you call, please be prepared to pay for 1/2 hour of consulting time.
Please call after 9:00 AM USA Central Time Zone.

What's New On The Site
The list below shows only the ten or so most recent additions to the web site out of a total of over 250 individual topic pages. For a complete chronological list of updates, see the What's New page. You can also locate pages from the Page Index or the Topic Index.  (Last Updated 15-March-2008)

Using Windows API Functions To Modify UserForms (7-May-2008)
This page describes how to modify a UserForm (adding, for example, a Maximize and Minimize button) using Windows API functions.

A Better NETWORKDAYS (7-May-2008)
The NETWORKDAYS is fine if your work week is Monday through Friday. However, if you work week begins and ends on differentdays of the week, NETWORKDAYS is of no use. This pages describes two formulas that allow you to specified days and holidays from the count.

Time Zones And Daylight Savings Time (6-May-2008)
This page describes VBA functions for working with time zones and daylight savings time.

Testing If A File Is Open (3-May-2008)
This page describes a function named IsFileOpen that determines whether a file is open by another process. You can use this function to prevent Permission Denied runtime errors.

File Extensions And VBA Programming (15-March-2008)
By default, Windows does not display file extensions in Explorer windows. This setting affects how VBA code works in Excel. This page describes how to write code to prevent problems caused by the Hide Extensions Windows setting.

Color Functions (6-March-2008)
This page describes a number of functions related to colors that you can call from VBA and from worksheet formulas and array formulas. Available for download is a bas module with about 20 VBA functions related to colors.

RowLiner Add-In (18-February-2008)
The RowLiner XLA add-in has been enhance to support windows with Freeze Panes and Splits.

Scope Of Variable And Procedures (6-January-2008)
This page describes what is called the scope of variables and procedures. The scope of a variable or procedure defines from where that variable or procedure can be accessed. Scope is discussed in the context of procedures, modules, projects, and groups of related projects.

Document Properties (5-January-2008)
This page describes a number of VBA functions that you can use to modify the BuiltIn and Custom document properties of a workbook. It also contains code to read and modify BuiltIn and Custom properties of closed files.

Tables And Lookups (5-January-2008)
This page describes a number of formulas for returning rows and columns from a table, return values based on multiple lookups, arbitrary occurrence lookups, and closest match lookups.

Get Recent File (24-December-2007)
This page describes a function named GetRecentFile that returns the name of the most recently or least recently modified file in a specified folder. You can specify one or more file extensions to narrow the files to be examined.

Workbook Command Bar (5-December-2007)
This is a nifty little COM Add-In written in Visual Basic 6 that creates a command bar with a button for each open workbook, along with a 'tree-view' navigation form through which you can directly activate any visible worksheet in any visible workbook. You can download the installation program from the page. The VB6 source code is available upon request.

New Functions Added To RegistryWorx DLL (26-November-2007)
Four new functions have been added to the RegistryWorx.dll component: RegistrySubKeyCount, RegistryValueCount, RegistryValuesOfKey, and RegistrySubKeysOfKey.

Returning Arrays From User Defined Functions (5-November-2007)
This page discusses matters related to returning an array as the result of a User Defined Function in VBA or COM or Automation Add-In.

DistinctValues Function (5-November-2007)
This page describes a VBA Function that will return an array of the distinct values from a range or an array. This function may be array entered into a range of cells on a worksheet, incorporated into an array formula in one or more cells, and can be called from other VB code, independent of a worksheet.

Various String Formulas (2-November-2007)
This page describes some worksheet formulas for parsing and gather information about text strings in a cell. This includes finding and counting digits and non-digits in a string.

How To Fix Missing References In VBA (27-October-2007)
There may be times, especially when copying a workbook from one machine to another, that the references in the VBA Project get screwed up. This page describes why that may happen and the steps you can take to remedy the problem.

Finding All Occurrences Of A Value On Multiple Sheeets (26-October-2007)
VBA does not provide a way to find all occurrences of a value on a single worksheet or multiple worksheets. This page contains a VBA function named FindAll that finds all occurrences of a value on a worksheet and returns a Range object comprised of the found cells. It also contains a function named FindAllOnWorksheets which allows you to search for a value on any number of sheets in a workbook.

String Concatenation For Arrays And Ranges (20-October-2007)
The built in CONCATENATE function is severely limited in how it can be used. You cannot concatenate arrays or text in a range of cells, and it doesn't work in array formulas. This pages introduces a function named StringConcat that overcomes all the deficiencies of CONCATENATE.

Creating An XLA Add-In (8-October-2007)
This page is a complete rewrite desribing how to create XLA Add-Ins with VBA. If you know how to code in VBA, you know pretty much all you need to know about creating an Add-In. This page covers some details you might overlook.

Random Elements From A Worksheet Array (4-October-2007)
A new function has been added to the Random Numbers page that will return a specified number of elements from a worksheet range in random order without duplication.

Optional Parameters To A Function With ParamArray (29-September-2007)
This page describes how to use Optional parameters to a VB function and how to user ParamArray to accept any number of parameters, which may vary at run time.

Creating An Automation Add In Function Library In VB NET (25-September-2007)
This page describes how to create an Automation Add-In Function Library in VB NET.

Sorting And Ordering Worsksheets In A Workbook (22-September-2007)
This page contains VBA functions that can sort or otherwise order worksheets in a workbook. This is a complete rewrite of the original SortWS page with more code functions and features.

Splitting A String To SubStrings With Multiple Delimiters (21-September-2007)
This page contains VB/VBA functions for splitting strings into sub strings based on multiple delimiters. The delimiters many be single characters or strings of character.

Passing Parameters By Reference (ByRef) Or By Value (ByVal) (21-September-2007)
This pages describes the differences between passing a parameter, either or simple variable or an object type variable by reference (ByRef) or by value (ByVal).

Creating A TreeView Control For Folders And Files (15-September-2007)
This page desribes code to create a TreeView control to list subfolders and files of a folder. The techniques described on the page are not limited to creating a TreeView for folders and files. The code can be adapted to display any sort of data in a TreeView control.

Recursive Programming (14-September-2007)
Recursive programming is a powerful technique that can simplify otherwise complicated programming tasks. In summary, recursive programming is when a procedure calls itself passing to itself a modified value of the original input parameter(s). This pages uses the mathematical function Factorial to illustrate recursive programming techniques.

Matrix To Vector Formulas (13-September-2007)
It is often useful to convert a matrix (an worksheet range with at least two rows and at least two columns) to a single dimensional vector (a single row or single column) or to extract one row or column from the matrix. This page contains formulas to do this and an example using the formula to create a dynamic chart.

   

This page last update: 5-January-2008.

Created by Chip Pearson at Pearson Software Consulting, LLC
Email: chip@cpearson.com Before emailing me, please read this page
http://cpearson.com/excel/MainPage.aspx
Copyright © 1997 - 2007, Charles H. Pearson



 


sectionbreak
Essential Tools For Developers



Ready

Advertise Your Product On This Site