Learning VBA in 2 weeks.

How to Learn VBA programming

Just get your hands dirty and do it. As long as you know how coding works, it should be easy. Make some simply exercises for yourself. Start off by recording marcos of what you are doing and seeing what the code looks like. Then learn logical operators (if then else etc) and how to use these to make decisions. Then learn how to use loops (suggest picking 1 loop method - "for" is easiest, the rest are all the same). A couple good exercises:

  1. Use Monte-Carlo to price an option
  2. Sort sheets in a workbook in alphabetical order (google it for the solution, many ways to do it)
  3. Create a function that returns the "rank" of a number in a set of number
  4. Create a function that takes arguments SheetName and RangeName and returns the value of that range on that sheet (pretty useful if you don't like to use indirect function)
  5. Macro to color all cells in selection a certain color if they don't have a formula/don't have a number/are blank/have precedents/have dependents (the last 2 are pretty tough actually)

And so forth. Think of fun things to do and just do it. Maybe create something that allows you to price binary or asian options using monte-carlo (pretty simple). Just get to it - stop thinking about how to best approach it - the answer is head first.

Here's an intro video for VBA:



Recommended Reading

 

You're in luck, I was basically in the exact same situation as you, having to learn those exact two languages. I did a good amount of research and here's what I would recommend. Firstly, you should spread out the learning over the next few months rather than condense it into 2 weeks since your internship starts in the summer. If you cram everything now, you'll likely forget most of it by the time you start work.

1) Get this book: http://www.amazon.ca/Head-First-C-Andrew-Stellman/dp/0596514824

It's far superior to many of the other C# texts out there which are mostly reference texts. You build more and more knowledge as you go through each chapter in the book. It teaches you C# AND OOP. It has copious amounts of exercises to reinforce learning all over the book. It even has 3 labs which progress in difficulty, with the final lab requiring you to build a fully functional Space Invaders game in C#. It's more engaging than any of the other dry programming books you can get out there. Get this book, read 30 pages a day and do all the exercises, and you'll be in good shape when you finish the 800 pages (or if you insist on cramming, do 100-150 pages a day). I would highly recommend looking for some trading related projects to do after you've completed the book.

2) Get http://www.amazon.ca/Excel-2010-Power-Programming-VBA/dp/0470475358

Unlike the other book, just reading this one probably won't do you much good. I recommend you ask the other forum members here to give you some projects to do (related to trading, options, etc.), while you try to apply the techniques from the book as much as you can. You could read the book from front to back, but I don't think you'll retain much unless you're actually building stuff and applying the new concepts as you move along. The book does come with a CD with plenty of examples.

And if you really want to be efficient in learning, think about things in terms of what your end goals are. Your end goals are to be able to develop useful programs for the traders. So find out what they'll want you to build. Then try to build whatever that stuff is. But if you think about your other end-goal, which is leaving a good impression on the traders, you'll probably want to develop the full foundation of knowledge so you'll more likely be able to exceed their expectations and add value with your abilities.

 
Best Response

I would say that the most common mistake people make in learning VBA is in thinking about how to do it for way too long. Just get your hands dirty and do it. As long as you know how coding works, it should be easy. Make some simply exercises for yourself. Start off by recording marcos of what you are doing and seeing what the code looks like. Then learn logical operators (if then else etc) and how to use these to make decisions. Then learn how to use loops (suggest picking 1 loop method - "for" is easiest, the rest are all the same). A couple good exercises: 1. Use Monte-Carlo to price an option 2. Sort sheets in a workbook in alphabetical order (google it for the solution, many ways to do it) 3. Create a function that returns the "rank" of a number in a set of numbers 4. Create a function that takes arguments SheetName and RangeName and returns the value of that range on that sheet (pretty useful if you don't like to use indirect function) 5. Macro to color all cells in selection a certain color if they don't have a formula/don't have a number/are blank/have precedents/have dependents (the last 2 are pretty tough actually)

And so forth. Think of fun things to do and just do it. Maybe create something that allows you to price binary or asian options using monte-carlo (pretty simple). Just get to it - stop thinking about how to best approach it - the answer is head first.

 

Thanks a lot for that insightful response, swordfish! You've presented some excellent pointers that I certainly need to consider. I've just downloaded an ebook copy of the Excel Power Programming book and I'll download or perhaps buy the Head First C# book. I also noticed that you posted ".ca" Amazon links- I'm actually from Canada as well.

 

Et et et provident. Odio illo recusandae sed culpa mollitia sapiente sint. Enim itaque minima distinctio aut voluptatem blanditiis assumenda adipisci. Consectetur sint qui totam optio.

Quidem maiores in nihil qui saepe et. Velit a velit esse molestiae. Nemo qui accusamus illum iure vel. Vel est non non. Quis facilis voluptate dolores quia esse eos aut.

Career Advancement Opportunities

April 2024 Investment Banking

  • Jefferies & Company 02 99.4%
  • Goldman Sachs 19 98.8%
  • Harris Williams & Co. New 98.3%
  • Lazard Freres 02 97.7%
  • JPMorgan Chase 03 97.1%

Overall Employee Satisfaction

April 2024 Investment Banking

  • Harris Williams & Co. 18 99.4%
  • JPMorgan Chase 10 98.8%
  • Lazard Freres 05 98.3%
  • Morgan Stanley 07 97.7%
  • William Blair 03 97.1%

Professional Growth Opportunities

April 2024 Investment Banking

  • Lazard Freres 01 99.4%
  • Jefferies & Company 02 98.8%
  • Goldman Sachs 17 98.3%
  • Moelis & Company 07 97.7%
  • JPMorgan Chase 05 97.1%

Total Avg Compensation

April 2024 Investment Banking

  • Director/MD (5) $648
  • Vice President (19) $385
  • Associates (87) $260
  • 3rd+ Year Analyst (14) $181
  • Intern/Summer Associate (33) $170
  • 2nd Year Analyst (66) $168
  • 1st Year Analyst (205) $159
  • Intern/Summer Analyst (146) $101
notes
16 IB Interviews Notes

“... there’s no excuse to not take advantage of the resources out there available to you. Best value for your $ are the...”

Leaderboard

1
redever's picture
redever
99.2
2
BankonBanking's picture
BankonBanking
99.0
3
Betsy Massar's picture
Betsy Massar
99.0
4
Secyh62's picture
Secyh62
99.0
5
GameTheory's picture
GameTheory
98.9
6
CompBanker's picture
CompBanker
98.9
7
dosk17's picture
dosk17
98.9
8
kanon's picture
kanon
98.9
9
DrApeman's picture
DrApeman
98.8
10
Linda Abraham's picture
Linda Abraham
98.8
success
From 10 rejections to 1 dream investment banking internship

“... I believe it was the single biggest reason why I ended up with an offer...”