Minimize the recalculation of volatile cells
Currently, PI Builder data is imported row by row. Each imported row causes all volatile cells in all open workbooks and any cells downstream of them in the dependency tree to recalculate. PI Builder will not import a new row until this calculation is complete. If there are too many slow-calculating downstream cells, the entire import can be slowed to a crawl.
Please consider importing data in a way that does not trigger the recalculation of volatile cells as often. One option is to switch to manual calculation before the import and restore the previous calculation mode after the import. Another option is to store the retrieved rows in memory and then write all of the rows at once to the sheet after the import is complete.
Kenneth Barber commented
Volatile cells recalculate essentially whenever any change to any cell is made. Any cell that uses a volatile function (e.g. NOW, TODAY, RAND, RANDBETWEEN) is volatile.
By "write all of the rows at once", I mean that you can do something like "Sheet1.Cells(1,1).Resize(3, 5).Value = v" in VBA, if v is a Variant variable or Variant array with 3 rows and 5 columns. You do not need to loop cell by cell or row by row to assign values to a multi-row, multi-column range.
I'm open to any questions.