Actuarial Outpost

Actuarial Outpost (http://www.actuarialoutpost.com/actuarial_discussion_forum/index.php)
-   Software & Technology (http://www.actuarialoutpost.com/actuarial_discussion_forum/forumdisplay.php?f=17)
-   -   Best way to learn VBA. (http://www.actuarialoutpost.com/actuarial_discussion_forum/showthread.php?t=88423)

Aussie101 10-23-2017 09:19 AM

Googling for a similar type file and Linkedin Learning
 
I found in my accounting role I had to upload 70 different cost centres budgets into SAP and it had to be in a separate worksheet with certain formatting and spacing. I found googling for a similar example and it worked.

I am learning process modelling using VBA on linkedin learning (linda campus) and Curt Fry is pretty good.

Philip_Trick 07-13-2018 07:43 PM

Quote:

Originally Posted by actuary21c (Post 8272546)
C# is still my favourite language (having used all of Basic, Fortran, C, C++, VBA, Visual Basic, VB.net, Perl, Php, F#, Javascript and more recently Scratch and Python). I find it very neat and tidy and gives me full access to the very powerful .net framework. Having said that IronPython looks promising, but I like the fact that C# is strongly typed (so the compiler helps me a lot in my coding).

I have done lots of things in c#, in fact one of the most enjoyable aspects of my work as a software developer is the variety, here are a few from the last few years:

Program to partially convert VBA to C#
Program to partially convert Fortran to C#
Pensions valuation / cashflow projection software (see pensionsconcerto.com) (NB currently for UK pensions, not US!)
Wealth planner (to help UK Independent Financial Advisors project cashflows and assets/liabilities for individuals, or numerate individuals to do that themselves) (ifa.tools)
An online app to help parents and their children manage pocket money /learn to save by having virtual accounts (webpocketmoney.com)
An online time recording system (on the web, but only used internally at the moment)
An online accounting system for charities/membership organisations
Gratuity/Leave encashment valuation calculation software (for use in India an elsewhere)
Loads of websites

I could probably do all the above in Python (probably IronPython because I would want to use the .net framework).

For those thinking of just using VBA:
It would be very hard (if not impossible: eg to run a website) to do most of the above using VBA. (I know some of it IS possible, eg about 20-10 years ago most of the code I wrote had some VBA or Visual Basic for the front end, with C++ as the back end, but it is so much easier to do things using c# or another professional language).

PS: you mentioned data, and I realised I hadn't covered that aspect. I think most programming these days requires interaction with a database, data queries, manipulation and reporting, and again I found the .net framework (and particularly LINQ) very useful to do that.

I've started working in C# with VSTO and I don't think I'll go back to VBA to do anything more significant than a 5 minute macro again. The Document-level modifications are kind of ugly to work with and deploy but the Application-level modifications are like working in Excel with god-mode engaged.

I was able to take one of my VBA libraries, modify port it to C# (replacing vast quantities of code with LINQ), put some multi-threaded computations in there with the so-easy-to-use Parallel.ForEach, and knock one of my bigger VBA forecast programs down from a 2 hour process to under 5 minutes.

I don't think I will ever do any significant object-oriented programming in VBA ever again.

LINQ. Holy cow. Whoever devised and implemented that needs to be given a memorial statue for us plebs to give thanks at. It is simply amazing.

Then throw in Entity Framework Core and creating database computation add-ins for Excel has never been smoother. I also use custom MATLAB C# libraries which I used to access through COM-accessible wrappers in VBA through VSTO now.

VSTO seems like is the way to go, but the documentation can be rough sometimes.


All times are GMT -4. The time now is 10:35 AM.

Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.

Page generated in 0.29430 seconds with 9 queries