I have to traverse about 25 sheets in excel for doing operations.I'm doing it using vba and finding it really slow,hence wanted to know if I could use C# and if doing that would help me speed up the process.
Predefined Macros in C. There are some predefined macros present in C. And it cannot be modified. Below are some predefined macros.
A macro is a piece of code in a program that is replaced by the value of the macro. Macro is defined by #define directive. Whenever a macro name is encountered by the compiler, it replaces the name with the definition of the macro. Macro definitions need not be terminated by a semi-colon(;).
Short answer yes. You can nest defines and macros like that - as many levels as you want as long as it isn't recursive.
You can't have recursive macros in C or C++.
Call C# from Excel workbook like VBA macro - you can't
Access Excel workbook from C# application - you can. This is called Microsoft Visual Studio Tools for Office (VSTO)
Although you may be able to write an equivalent in C# to your current VBA macro using VSTO, I doubt very much if it would make any significant difference to performance.
In both cases, you'll be manipulating the same Excel COM objects and the execution time is likely to be very similar.
Your performance will depend mainly on the techniques you are using to manipulate the Excel objects. As a simple example, you can assign values from an Excel Range to a 2-dimensional array in a single statement: this is much faster than iterating through the rows and columns in code and copying values into your array one by one.
I'd recommend you post bits of the VBA code that you find too slow, and ask for tips on improving performance.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With