Excel VBA / Coding: The Most Important Skill?

preview_player
Показать описание
What's the most important skill in VBA coding?
It might not be what you think.

Link to Excel VBA for Beginners Playlist:

I have the privilege of teaching university students about Excel and VBA coding about one day a week, at a top-10 university here in the UK. I've been doing it for almost 10 years now, and I love it!

It's usually fun and it's energising for me to see others get excited about the potential of Excel VBA. My approach to teaching the subject is simple: to trigger that initial curiosity and help them appreciate the possibilities; once these things happen, students tend to get very enthusiastic about VBA very quickly.

That's as long as they have one critical skill. It has fascinated me over the years watching people grapple with coding for the first time. What I have found is that those from technical backgrounds are not always the best VBA coders (although they are usually pretty solid!) At the same time, the process throws up some surprise success stories: people from social science or arts backgrounds who excel at coding.

Why this discrepancy? One would expect Excel capability to be correlated to previous experience with other coding languages and logic-based subjects such as mathematics. Though this holds as a generally rule, there are enough notable exceptions to fuel other theories about coding success. So what quality do all successful coders share?

All successful coders have a set of attributes that you could bundle together and describe as 'resilience'. Yes, you've got to be 'resilient'! These attributes are not earned through study, in fact they are not technical at all.

First, you've got to react well when things go wrong. I'm talking about an initial reaction here. You can be sure of this: Excel VBA is going to throw up errors (particularly when you're less experienced) that will confuse you, and how you react is important.

Naturally you might feel frustrated, tempted to close the laptop, or throw it out the window - I've been there! More importantly, you're probably thinking things like 'I'm just not a coder' and 'I don't have the background to do this'. Though understandable, you have to avoid this reaction; to avoid it is to demonstrate resilience.

Second, you have to be able to 'debug'. What does this mean in a practical sense? At the basic level, you need to be able to arrange the VBA editor and Excel alongside each other so that you can 'step through' the code and see what is happening in Excel. It always surprises me how few people can do this quickly - you do it instantaneously use the Windows key + left arrow shortcut on a Windows PC.

Next, you need to know what Excel VBA's debugging aids are. You can find them at the top of the VBA editor in the 'Debug' menu. Excel VBA provides the helpful facility to 'step through' the code line by line (F8 key on the Windows PC.) You can also use breakpoints to stop a routine mid-execution and understand what is going on. Don't forget you can hover the cursor over VBA variables to see what values they hold. Command of such techniques is critically important and you can see me use them in most of my videos.

In the fullness of time, you will begin to enjoy debugging because you know you will always fix it in the end, and some learning will result (it's play!) This mindset, founded on a bundle of capabilities that I'm calling 'resilience', is one sign of a resilient programmer.

How else can you recognise a resilient programmer? Back to teaching, we offer 'tutorial' sessions for students where they work through problems with teachers on hand to help them. In the first few weeks, these sessions are quite chaotic because students ask questions all the time. Hands are going up everywhere! The reaction when things go wrong is to disengage and seek outside help.

Through the term, I gently and consistently reinforce messages about dealing with problems. Reacting correctly, using the debugging aids, developing the critical skill of resilience. This sidelines the teacher in the learning process, so why would I advocate this? As a teacher, is that not counter-intuitive? In my view, the best learning a teacher can offer a student is motivation to develop self-reliance and resilience. I want to feel as a teacher, that I am gradually making myself redundant as students learn to deal with problems on their own.

Over time, the number of questions reduces, despite the fact the topics get more difficult. Then I know at least some students, equipped with right skills and mindset, are off and running on their programming journey...

Get on the Tiger mailing list (link below) for privileged information, including:
– Details of livestreams in advance
– Discounts on Tiger Spreadsheet Solutions products
– Details of new YouTube video releases

Follow Tiger on Facebook:
Also find us on Insta
Рекомендации по теме
Комментарии
Автор

your pronunciation is ease of understanding and thanks to it that i could understand everything on this footage. because I'm an English learner and VBA coding.

hayahide
Автор

Yes, I have been in software development for years and temperament is key. How you deal with failure -whether you become flustered or can still remain calm and attack the problem slowly and methodically. That is key.

Nessus
Автор

Thanks for all the motivation. I am new to VBA and your 4 basic VBA videos were really helpful.

shakilanjum
Автор

Hi Chris. This is so true, it also helps if you're a bit of a 'dog with a bone' type person. It can be harmlessly dangerous though. I work for myself in the totally unrelated field of property maintenance and in my spare time am writing my own business interface and management program. The big trap is that I will often sit before work 'just to finish off this piece of code' only to get stuck on a problem and end up running late for a job! It is a great feeling when you nut out the problem, but coding is incredibly addictive. Perhaps I should think about a career shift! Have a great festive season.

royhunter
Автор

It's absolutely true what you said. Often many people do not have the patience and the desire to work hard to understand for themselves how things work.
We must know how to accept that it can be a long journey made of small steps but that will give a lot of satisfaction. Thanks for your precious videos and best wishes for happy Christmas holidays! 😊

maurocastagnera
Автор

Was encouraging, honest, motivating, & easily understood! All the best qualities of a teacher.

theyeezymaestrotm
Автор

I agree with. Work with programming also develops you as a person.

henrikijonkoping
Автор

Subscribed! Been passionate about Excel VBA since High School but now getting in to consulting full time! Great videos!

dbleader
Автор

Its true. From commerce background, with no technical background. Started advance excell classes. Within a month applying whatever I learn ( Vlookup, Index, Graph etc) I have created smthng in office that My boss appreciated.
Now started VBA part, simple copy pasting function from different file looks so tough but slowly all become fun. My advice to all learners is, dnt just rely on example ( data) used by trainer. In small scale create ur own data, files, and download from Google if needed, used what u learn on those data, and dont move to next topic untill u can execute without debugging...Step by step Confidence building is the key.

ankitsanyal
Автор

This was very inspiring to hear and builds my confidence. Thank you.

steved
Автор

Very good video Chris.
I am Happy to know that I am already doing all those tips you said in the video.
But I couldnt have done It without your help. You teach me VBA in first place two years ago with your YouTube videos.
Merry Christmas. My best whises for the comming year.

inigosanchez-ostizchivite
Автор

It will be interesting to see how much longer VBA will be around. There are many sources that say Python will become an officially supported language in Excel. I doubt it will happen anytime soon, so VBA is definitely still worth learning — and it’s a much easier language to learn.

andrewmoss
Автор

Saw the pop up 2 days later...smh. Thank you for your hard work Chris. Guys in the comment section, please I need help with my vba code, just a little tip. Thank you in advance.
My problem is: I’m trying to write a code which will open an excel file and update all the data(fetching the new ones in a related access request). I have two sheets in that excel workbook. I used the “ActiveWorkbook.refreshall” function but it’s still doesn’t update both sheets. I’m setting a timer in order to make the update before I’m arriving at work : that’s my goal, refreshing all the data at a predetermined time. How can I write something that will basically tell the computer “ refresh this workbook at 07:00:00, if in this sheet I had 12 rows before the update and after I still got the 12 rows, redo the refreshing”. Thank you so much in advance for your eventual responses . Joyeux noël

pameladekas
Автор

Sir, are u sure Microsoft will keep updating and supporting Excel, looks like they try to move to the new office 356. And I don't see any updates nor improvement in VBA as well, since office 2007. Why they don't make VBA more sophisticated, like full feature of OOP ( inheritance for example), or adding component like timer. Or making the VBA range looping faster than before. I am afraid, after a lot of investment learning it and no further support or updates...?

cheriesmewengkang
Автор

Hi chris,

Please could you explain how we can use Ms excel to add data on MS WORD using VBA. simply I want to learn how we can create a letter using VBA.. Eg: if there is a letter template given on certain loaction and i need excel to open that and amend the required fills and create a letter in ms word..please help

Awaiting your prompt reponse.

mayanksakaria
Автор

Your videos are really awesome, I have learned many things from that. 


This is regards of a project that i am making in my company about automating letters using excel.. For example : if there is a letter template given on certain  loaction and i need excel to open that and amend the required fills or empty fills and create a letter in ms word also some If statements as well.. After wachting your vidoes I have tried making a macro.

Please help.


Awaiting your prompt reponse.

mayanksakaria
Автор

Hi mate, do you teach in London? Would love to pop by

chenardnoirpresidente
Автор

nope, if true, Trump would be super coder, no way, not even close.

Husky_Passion
Автор

The *INTRO MUSIC* is ten times louder than your voice. My ears didn't appreciate that at all.
Take a break from VBA and learn to adjust the audio level in your videos.

firecloud