VBA data model to access calculated columns?

macfuller

Active Member
Joined
Apr 30, 2014
Messages
319
Office Version
  1. 365
Platform
  1. Windows
I'm unable to find a way in VBA to identify calculated columns in the data model. I can enumerate the columns

Code:
    Dim objMTables As ModelTables
    Dim objMCols As ModelTableColumns
    Dim objMCol As ModelTableColumn
   
    Set objMTables = ActiveWorkbook.Model.ModelTables
    
    For Each objMTable In objMTables
        Debug.Print "** " & objMTable.name
        For Each objMCol In objMTable.ModelTableColumns
            Debug.Print objMCol.name & " - " & objMCol.DataType
        Next objMCol
    
    Next objMTable

But the .DataType property returns 130 for all columns, nor can I see another property to give the formula in the column.
 

Excel Facts

Ambidextrous Undo
Undo last command with Ctrl+Z or Alt+Backspace. If you use the Undo icon in the QAT, open the drop-down arrow to undo up to 100 steps.

Forum statistics

Threads
1,226,730
Messages
6,192,708
Members
453,748
Latest member
akhtarf3

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top