Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,560
Default Crosstab in memory

Greetings and TIA for your time.
I'm summarising a spreadsheet database using a crosstab. I started off
using sumproduct worksheet formulas, but found the recalculation to be very
slow. Next I tried concatenating fields in the database and using countif in
the crosstab. This improved the worksheet calculation time up by a factor of
more than 10. Next i wrote some code to transfer ranges to VBA arrays,
operate on VBA arrays using worksheetfunction.sumproduct then transfer the
result back to the spreadsheet crosstab.
The code worked ok but again there was a performance problem.... which
brings me to my question:
Could I get a performance advantage by concatenating ranges into aVBA array
and operating on the array with VBA functions and then transferring the
resulting array back to the spreadsheet crosstab? If so please guide me on
the best way to concatenate the arrays and which function(s) to use.
--
David
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 863
Default Crosstab in memory

With Excel, I expect the best performance would be to write the VBA code to
create a Pivot Table. Turn on the macro recorder and do it manually, then
modify the code as needed.

It could possible be faster in Access, depending on what sort of summary
fields you are creating.

On Sat, 6 Nov 2004 14:00:01 -0800, "David"
wrote:

Greetings and TIA for your time.
I'm summarising a spreadsheet database using a crosstab. I started off
using sumproduct worksheet formulas, but found the recalculation to be very
slow. Next I tried concatenating fields in the database and using countif in
the crosstab. This improved the worksheet calculation time up by a factor of
more than 10. Next i wrote some code to transfer ranges to VBA arrays,
operate on VBA arrays using worksheetfunction.sumproduct then transfer the
result back to the spreadsheet crosstab.
The code worked ok but again there was a performance problem.... which
brings me to my question:
Could I get a performance advantage by concatenating ranges into aVBA array
and operating on the array with VBA functions and then transferring the
resulting array back to the spreadsheet crosstab? If so please guide me on
the best way to concatenate the arrays and which function(s) to use.


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Summing a crosstab dysolomon Excel Worksheet Functions 7 March 18th 10 08:30 AM
XL 2007 - Out of Memory - memory leak/bug? PCLIVE Excel Discussion (Misc queries) 0 March 23rd 09 03:31 PM
Need crosstab function in excel patrick Excel Worksheet Functions 2 October 27th 05 01:33 AM
Vlookup "crosstab" Deeds Excel Worksheet Functions 5 September 23rd 05 07:02 PM
Crosstab to Database VBA twaccess[_10_] Excel Programming 3 April 1st 04 11:42 PM


All times are GMT +1. The time now is 06:18 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"