title: How to refer to this table column by name when sorting?
body: <p>The third line errors out with an error 5, invalid procedure call or argument.</p>
  
  <pre><code>Set tbl = ActiveSheet.ListObjects(1)
  tbl.Sort.SortFields.Clear
  tbl.Sort.SortFields.Add Key:=tbl.Range("Table[Matter ID]"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
  </code></pre>
  
  <p>I know the problem is <code>tbl.Range("Table[Matter ID]")</code> and I've fixed it by using <code>tbl.Range.Cells(8)</code> and it works. But <em>why</em> doesn't the first work?</p>
  
  <p>I can go <code>?tbl.Range.Address</code> and get a valid range address.</p>
  
  <p>I can go <code>?tbl.Range.Resize(1).Address</code> and get a valid range address.</p>
  
  <p>The names "Table" and "Matter ID" are correct. One of the advantages of Excel Tables (ListObjects) is that you can refer to columns by name. What am I doing wrong?</p>