title: Populating 2nd+ column of listbox on Excel worksheet
body: <p>I have an ActiveX listbox on an Excel 2007 worksheet. I want to populate it directly, not by pointing its RowSource property to a range, because there is no range that has the desired values.</p>
  
  <p>The listbox's ColumnCount is set to 2.
  I set ColumnWidths to "20;20", and now it returns:
  20 pt;20 pt</p>
  
  <p>So as far as I understand, two columns in the listbox should be available for writing, right?</p>
  
  <p>Populating the first column is no problem:</p>
  
  <pre><code>activesheet.lstApplyCurves.List = array("Select All","Deselect All","aaa","bbb","ccc")
  </code></pre>
  
  <p>(or)</p>
  
  <pre><code>activesheet.lstApplyCurves.additem
  activesheet.lstApplyCurves.List(0,0) = "Col1, Row1"
  </code></pre>
  
  <p>But how do I populate column 2? I get an error 380 ("Could not set the list property. Invalid property value.") on this:</p>
  
  <pre><code>activesheet.lstApplyCurves.List(0,1) = "Col2, Row1"
  </code></pre>
  
  <p>FWIW I've also tried this, but get the same error:</p>
  
  <pre><code>activesheet.lstApplyCurves.List(1,1) = "Col2, Row2"
  </code></pre>
  
  <p>So...how do I set values in the 2nd column?</p>
  
  <p>UPDATE:</p>
  
  <p>In addition to the answer below, FWIW I also found it's possible to assign a mulit-dimensional array to the List property, which is faster:</p>
  
  <pre><code>Dim ArrayToListbox() As Variant
  ReDim ArrayToListbox(0 To 4, 0 To 2)
  ArrayToListbox(0, 0) = "Select All"
  ArrayToListbox(1, 0) = "Deselect All"
  ArrayToListbox(2, 0) = "Row1-Col1"
  ArrayToListbox(2, 1) = "Row1-Col2"
  ArrayToListbox(2, 2) = "Row1-Col3"
  ArrayToListbox(3, 0) = "Row2-Col1"
  ArrayToListbox(3, 1) = "Row2-Col2"
  ArrayToListbox(3, 2) = "Row2-Col3"
  ArrayToListbox(4, 0) = "Row3-Col1"
  ArrayToListbox(4, 1) = "Row3-Col2"
  ArrayToListbox(4, 2) = "Row3-Col3" '"(" &amp; Join(Array("a", "b", "c"), "|") &amp; ")"
  ActiveSheet.lstApplyCurves.Clear
  ActiveSheet.lstApplyCurves.ColumnCount = 3
  ActiveSheet.lstApplyCurves.List = ArrayToListbox
  </code></pre>