Microsoft provides programming examples for illustration only, without warranty either
expressed or implied, including, but not limited to, the implied warranties of
merchantability and/or fitness for a particular purpose. This article assumes
that you are familiar with the programming language being demonstrated and the
tools used to create and debug procedures. Microsoft support professionals can
help explain the functionality of a particular procedure, but they will not
modify these examples to provide added functionality or construct procedures to
meet your specific needs. If you have limited programming experience, you may
want to contact a Microsoft Certified Partner or the Microsoft fee-based
consulting line at (800) 936-5200. For more information about Microsoft Certified
Partners, please visit the following Microsoft Web site:
For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:
To prevent this problem from occurring, do not refer directly to the range
of cells in the ListArray argument. Instead, use a variable to temporarily
hold the values from the cells, and then pass the values from the variable
to the custom list.
The following example macro uses a variable to hold the values from the
cells, and then passes the values from the variable to the custom list:
Sub AddACustomList()
' Dimension a variable to hold the values.
Dim TempArray As Variant
' Populate the variable with the values from the range of cells.
TempArray = Range("A1:A4")
' Create the custom list.
Application.AddCustomList ListArray:=TempArray
End Sub
Note that adding a custom list when an identical custom list already exists
does not result in two identical custom lists. The result is only one
custom list containing the items that you added.