0
votes

This one has me stumped. When I set the formula for a selected cell in a ListObject, if the ListColumn is empty, Excel fills the formula for the whole column, rather than just the Selection. I have duplicated this in a separate workbook.

  1. Create a Table
  2. Insert a five or so rows
  3. Click on (select) one of the cells in the column
  4. Execute the following code:

    Sub setCellFormula() Selection.Formula = "=myFormula()" End Sub

    Function myFormula() As Integer myFormula = 1 End Function

  5. Note that the whole column is filled with the numeral one

  6. Delete the data in the cells
  7. Enter any value in any of the cells
  8. Select a cell other than the cell with a value in it
  9. Re-execute step 4
  10. Note that only the selected cell is filled with the numeral one
1
Another interesting tidbit is that this does not occur on every PC. It works fine on my PC, but not on others.Adam

1 Answers

4
votes

My experience is that, regardless of VBA, Tables behave as you have described in XL 2007, and Lists behave as you'd prefer in XL 2003. However in 2007 you can tell it to "stop creating calculated columns." So I'd guess it's not a code issue, but an issue due to different behavior between versions, or different settings for two instances of XL 2007.