What are Variables? 0:53 Creating a Non-Declared Variable: 3:06 Storing Inputbox Results with Variables: 6:19 A Problem with Non-Declared Variables: 7:59 Non-Declared vs. Explicitly Declared: 10:59 Declaring a Variable: 12:32 Forcing Explicit Declaration: 14:50 Variable Data Types: 16:31 Declaring Multiple Variables: 19:11 The Type Mismatch Error: 22:44 The Overflow Error: 23:56 Populating and Manipulating Variables: 25:02 Variable Scope: 29:12 Extending the Scope of Variables: 32:48 Retaining Values in Variables: 35:30
I just wanted to express my appreciation for the job you are doing. I cannot emphasize enough how valuable it is to be able to learn from such professionally compiled study material. I am sure, your lessons have improved career path of many people.
Excellent job Andrew! Very nice and thorough explanation. Thanks for being generous and sacrificing your time to create such educational videos on VBA. Just know that people around the world watching your videos appreciate what you are doing.
Thank you for a portion of fresh knowledge on the use of variables of VBA. Your lectures are very good to summarise the knowledge that I learned previously and put everything into its place.
These are the best Excel VBA tutorials on the net. I have seen tons of related videos but never could actually was able to really grasp the essence of Excel VBA up until now with yours. Congrats and keep up uploading new ones.
I just came to tutorial n. 8 and I've learned so many things about Vba. I do not imagine how many other important and useful things I can learn when I come to the end of the course. I think you are an outstanding teacher!
I can really see how this will help in a work context in getting users to follow a flow when entering information into a database. Great series of videos.
It is shocking how understandable you made the different types of variables. I learned VBA programming a few years back and learned enough to create several complex programs. I never understood variables to the extent I do today after this lesson.
You're truly an amazing teacher, mr. Owl. It's a pity that none of my colegues in Brazil will be able to follow this classes due to the lack of english knowledge.... Thank you very much!
Love all of your videos. Very precise, explain everything without being dull and repetitive. Will definitely be continuing through the series. I know the basics, but am still learning a lot with even your most basic tutorials. Thank you for making these, it is a great help!!!
This is an AWESOME serie on VBA !!!! It would be appropriate to remove the word "Introduction" on its title. At least, i learned something in every videos from the first one to the one i'm commenting on. First video was an illumination !!! I was stuck with my Project Explorer et Property tool boxes layed vertically at the top of VBE and you help me to restore the original layout !!! Man that was so huge !!!!!! Thanks a lot for your commitment and your kindness to provide for us such valuable tutorials. Best regards from France, STEPHANE NTONGA
Thank you so much kind sir for teaching so beautifully in a very understandable manner. This is probably the only youtube channel which is providing indepth knowledge about a course for free. I really appreciate your efforts.
Since embarking on my journey to learn vba, I've completely immersed myself in tutorials from tens of different sources. These are by far the best tutorials I've seen and the website is great also. Keep up the good work because it's much appreciated.
Your courses have helped me to put in order all that I knew from learning on my own. I've really liked the shorcuts you give, which I never used before. Personally I only use a small part of it all, but it's nice to hear the whole of it. As others comments already said, thank you for this brilliant work ! By the way, The Hobbit is about 3 hours long !
Sir Thank U so Much for your great work today I make little list and I feel so happy today i learn how to use input box , msgbox, find the last rows, defining variables automatically and credit goes to u sir i struggled so hard u r end I didn't learn anywhere from u only sir.. Sub howtoInputbox() 'Multiple Variables Dim Emp_lst As String Dim Emp_nm As String Dim Des As String Dim salary As Integer Worksheets("Sheet1").Activate Emp_lst = InputBox("Enter the Employee in the list") Emp_nm = InputBox("Enter the Employee Name") Des = InputBox("Enter the Employee Designation") salary = InputBox("Enter the Employee Salary") Range("A2").End(xlDown).Offset(1, 0).Value = Emp_lst Range("B2").End(xlDown).Offset(Range("B2").Rows.Count, 0).Value = Emp_nm Range("C2").End(xlDown).Offset(Range("C2").Rows.Count, 0).Value = Des Range("D2").End(xlDown).Offset(Range("D2").Rows.Count, 0).Value = salary MsgBox "Database" & " " & "Updated "
Really good and structured, I think if you wanted to pass through a variable (PassVariable) from one sub to another while maintaining the "Locals Window" functionality, you refer to variable between the brackets when you Call the "CalledSub" sub, and refer to it again between the brackets when creating the "CalledSub" ex: Sub MainSub() Dim PassVariable As Integer PassVariable = 1 Call CalledSub(PassVariable) End Sub ----------------------------- Sub CalledSub(PassVariable) Dim NewVariable As Integer NewVariable = PassVariable + 2 End Sub
Hi Andrew, This is by far the 'best' & easiest way to Learn.your way to teaching is simply outstanding... I learnt a lot than i learnt from a book ..thank you... Chai
In reference to above code, i was able to add movies and all the fields with small changes and yet it worked. I didn't used film id variable to add movies list number ; used offset and it still worked. I would like to share my learning
In my quest to understand VBA your tutorials stand out as amazingly well structured and coherent. However, on another site the presenter said 'Dim' stood for 'Declare In Memory', which I thought was interesting, but felt was not correct as I had seen it used as short for 'Dimension' (as you state) on very old industrial computers. That said, it's a clever justification for the usage of 'Dim' that does not detract in the slightest from why it is used.
Your videos are extremely helpful. You have excellent insight as to the questions that must be going on inside the viewer's heads as you step from topic to topic allowing you to answer them accurately before they get too far off track. One question that didn't get answered for me, though. No mention of Static variables?
This is awesomely awesome stuff! I have wondered how to create inputs, and this has shown me that it's possible! Thanks! I WILL be writing this code today!
***** I got the variables and the input boxes, but I need a decimal output on one of them, and it's not giving me that when I ask for it.... On to more to see if THAT question is solved! ;)
***** You know, GIGO sucks really, really bad sometimes.... I finally went back and looked at my code line by line, and realized I had an extra line for offset, so my final answer was going into a hidden cell.... Ugh.... But! It works correctly, now! ;)
Your videos are great. I like the idea of making them more practical rather than theoretical. Keep up the good work! Just one more thing though... I feel they are a little slow...
This is the best channel on TH-cam available to learn Excel VBA in my opinion! Excellent job, congratulations and thank you very much! How can I contribute to your channel?
Chris Wood Oh Man! Thanks for mentioning it! I have always been stuck with my variables. Once I found a way by defining for example "Dim X as Integer" and then X=... Never knew it's because of Option Explicit at the top. Well I haven't watched the whole video yet. But sofar, you saved my life :) I would also like to take the opportunity to thank Andrew ***** for the super awesome tutorials... It motivates me to start SQL after VBA. He is the best tutor ever.
Do you have the "option explicit" enabled still? That was my issue. "Once you've included the Option Explicit statement in a module, Visual Basic for Applications doesn't execute a procedure inside that module unless absolutely all the variables within that procedure are declared.
hi andrew thanks for the amazing lesson here. I'm just wondering how to reset global variables with out closing the entire work book. thank you very much and God bless
Greetings from Denver, Colorado :-) Thank you for the awesome tutorial! I've watched several videos by others, but you made it a lot easier to understand. I do have a question, Why split a subroutine if it's getting long? Is it easier to navigate through? Thank you
First I say thank you for your very system tutorial. I could not find the better tutor than you explained as well. Yet, I have two question, let say I have value in B1, then I need to select a cell below B1. I tried to use range("B1").end(xldown).offset(1,0).select, but it didn't work. Please give me solution. The second question is how to set numberin code, let say i need to input number and film name in cell A2 and B2 respectively (the top range (A1:B1) is label). I could not write the code how to increment the number, because I could not add integer type by string type. It looks hard to explain this problem, hopefully you can understand. Thank you Mr. Andrew Gould.
+WiseOwlTutorials thank you. But anyway, I already watched your tutorials until part 22, where can I find the tutorials explaining about worksheetfunction?
Hey ! Amazing videos really helpful....Just one question, I saw you entered the date as 8 Nov 2013. At 21:59 I saw that the date was saved in the variable in the dd/mm/yyyy format. Will it always save in this format and not the american way of mm/dd/yyyy ? Thanks !
Really good and lots of information! Thank you very much! One question, do you happen to know if VBA is supported in Office 365 or Office 2013, especially if it runs in tablets with Window 8.1 system and Office 365? Thanks.
Awesome videos so far, Andrew. I am doing everything simultaneously on my computer, which helps a lot. Just one question remained after this video: At minute 33:16 you remove the indenting with a shortcut after selecting the lines with you mouse. Which shortcut is that? Thanks in advance!
Hello again I try to solve one dimensional cutting stock problem with excel solver but I have problem with constraints. When solver is finished its show just one optimal solution but I try to make every posible optimal solution for diferent cut lenghts and number of cuts. I think that some loops or something like that is answer but how to do it ... Thanks
Funny date variable value... In previous tutorials, WiseOwl mentioned that VBA reads dates in USA format (ex: if you parse '#08 Nov 2013#', VBA code would show '11/8/2013'). BUT at 21:57, Locals shows that the value of FilmDate expression is #08/11/2013# (UK-date format)... Is that right?
Hi Rafael! Yes, that's right - dates that you enter in the code window are always shown as #mm/dd/yyyy# (as far as I know) but the Locals Window, Immediate Window (when using Debug.Print) and front end things like MsgBox and the actual Excel worksheet will use your regional settings. I hope that helps!
Yes, indeed i will thank you again as i'm just going through all your Introduction course and suddenly actually start understanding what i'm doing... So that's really great.
What are Variables? 0:53
Creating a Non-Declared Variable: 3:06
Storing Inputbox Results with Variables: 6:19
A Problem with Non-Declared Variables: 7:59
Non-Declared vs. Explicitly Declared: 10:59
Declaring a Variable: 12:32
Forcing Explicit Declaration: 14:50
Variable Data Types: 16:31
Declaring Multiple Variables: 19:11
The Type Mismatch Error: 22:44
The Overflow Error: 23:56
Populating and Manipulating Variables: 25:02
Variable Scope: 29:12
Extending the Scope of Variables: 32:48
Retaining Values in Variables: 35:30
+Reese Garcia Outstanding! Thank you very much. It makes it so easy to find the pieces.
Thanks! Gave me a brief but detailed idea abt the episode
This is, by far, the best Excel VBA training video ever.
Ahh thanks! :)
I just wanted to express my appreciation for the job you are doing. I cannot emphasize enough how valuable it is to be able to learn from such professionally compiled study material. I am sure, your lessons have improved career path of many people.
The most complete VBA tutorial on TH-cam. Wonderful work
i cant believe you are giving these tutorials out for free. such high educational value!
thank you.
Excellent job Andrew! Very nice and thorough explanation. Thanks for being generous and sacrificing your time to create such educational videos on VBA. Just know that people around the world watching your videos appreciate what you are doing.
Pour l'instant c'est le meilleur tuto VBA que j'ai consulté. Merci pour le travail effectué.
Thank you for a portion of fresh knowledge on the use of variables of VBA. Your lectures are very good to summarise the knowledge that I learned previously and put everything into its place.
Thank you again, is very nice when someone takes its time to explain details to other without rushing
These are the best Excel VBA tutorials on the net. I have seen tons of related videos but never could actually was able to really grasp the essence of Excel VBA up until now with yours. Congrats and keep up uploading new ones.
I just came to tutorial n. 8 and I've learned so many things about Vba. I do not imagine how many other important and useful things I can learn when I come to the end of the course. I think you are an outstanding teacher!
I can really see how this will help in a work context in getting users to follow a flow when entering information into a database. Great series of videos.
It is shocking how understandable you made the different types of variables. I learned VBA programming a few years back and learned enough to create several complex programs. I never understood variables to the extent I do today after this lesson.
Thanks Andrew! Happy to hear that you found this one useful, thanks for watching and for your comment!
You're truly an amazing teacher, mr. Owl. It's a pity that none of my colegues in Brazil will be able to follow this classes due to the lack of english knowledge.... Thank you very much!
C’est toujours un plaisir de revoir vos vidéos. Pour moi vous êtes le NUMBER ONE. Amicalement
Best VBA training tutorial. Once can start and become expert of VBA through these series of videos. Really nicely explained.
Best VBA tutorials after searching for months
Just wanted to tell you that you are a great tutor. Thorough with each topic, and concious about structuring the topics in a sensible way.
Andrew, your lessons are fantastic. So informative and makes VBA so simple. Great and noble work. Thank you so much!
Love all of your videos. Very precise, explain everything without being dull and repetitive. Will definitely be continuing through the series. I know the basics, but am still learning a lot with even your most basic tutorials.
Thank you for making these, it is a great help!!!
This is an AWESOME serie on VBA !!!! It would be appropriate to remove the word "Introduction" on its title. At least, i learned something in every videos from the first one to the one i'm commenting on. First video was an illumination !!! I was stuck with my Project Explorer et Property tool boxes layed vertically at the top of VBE and you help me to restore the original layout !!! Man that was so huge !!!!!!
Thanks a lot for your commitment and your kindness to provide for us such valuable tutorials.
Best regards from France,
STEPHANE NTONGA
Thank you so much kind sir for teaching so beautifully in a very understandable manner. This is probably the only youtube channel which is providing indepth knowledge about a course for free. I really appreciate your efforts.
Since embarking on my journey to learn vba, I've completely immersed myself in tutorials from tens of different sources. These are by far the best tutorials I've seen and the website is great also. Keep up the good work because it's much appreciated.
You are just awesome! I have always wanted to understand variables and your video is so thorough, yet simple to understand. Thanks.
Hello Sir, thank you for teaching VBA. With the help of your videos im able to learn little basics of VBA.
I think finally, I understood Variables after watching this. Thank you very much. Excellent explanation!
Excellent tutorials. Clear, concise, informative and helpful. Kind regards from Costa Rica.
Your courses have helped me to put in order all that I knew from learning on my own.
I've really liked the shorcuts you give, which I never used before.
Personally I only use a small part of it all, but it's nice to hear the whole of it.
As others comments already said, thank you for this brilliant work !
By the way, The Hobbit is about 3 hours long !
i actually benefited from these lessons greatly, 8 days of learning until now
keep the good work
thank you very much
Best VBA tutorials ever .Well articulated and thoughtful process.Well done for saving my job .
Sir Thank U so Much for your great work today I make little list and I feel so happy today i learn how to use input box , msgbox, find the last rows, defining variables automatically and credit goes to u sir i struggled so hard u r end I didn't learn anywhere from u only sir..
Sub howtoInputbox()
'Multiple Variables
Dim Emp_lst As String
Dim Emp_nm As String
Dim Des As String
Dim salary As Integer
Worksheets("Sheet1").Activate
Emp_lst = InputBox("Enter the Employee in the list")
Emp_nm = InputBox("Enter the Employee Name")
Des = InputBox("Enter the Employee Designation")
salary = InputBox("Enter the Employee Salary")
Range("A2").End(xlDown).Offset(1, 0).Value = Emp_lst
Range("B2").End(xlDown).Offset(Range("B2").Rows.Count, 0).Value = Emp_nm
Range("C2").End(xlDown).Offset(Range("C2").Rows.Count, 0).Value = Des
Range("D2").End(xlDown).Offset(Range("D2").Rows.Count, 0).Value = salary
MsgBox "Database" & " " & "Updated "
Great work! Happy to hear that the videos have helped you. Well done on writing your own system, great stuff!
Great training videos! Better than all other videos/books that I have learnt from! Thanks very much!
Really good and structured, I think if you wanted to pass through a variable (PassVariable) from one sub to another while maintaining the "Locals Window" functionality, you refer to variable between the brackets when you Call the "CalledSub" sub, and refer to it again between the brackets when creating the "CalledSub"
ex:
Sub MainSub()
Dim PassVariable As Integer
PassVariable = 1
Call CalledSub(PassVariable)
End Sub
-----------------------------
Sub CalledSub(PassVariable)
Dim NewVariable As Integer
NewVariable = PassVariable + 2
End Sub
Hi Andrew, This is by far the 'best' & easiest way to Learn.your way to teaching is simply outstanding... I learnt a lot than i learnt from a book ..thank you... Chai
Your work adds some much value to the working world!!!! Keep up the great work!
what a amazing teacher !!!respect from turkey
You Learn Java and teach all of us just like this.. You are a good Teacher :)
Hi,thanks you wonderful teachings, I am teacher in India learning from you too. most amazing teacher you are I ever seen!!!! :-)
In reference to above code, i was able to add movies and all the fields with small changes and yet it worked. I didn't used film id variable to add movies list number ; used offset and it still worked. I would like to share my learning
Simply Superb..well explained...videos are designed and named numbered in a structured manner...
These have to be the best learning videos I've ever seen. Thanks!
Amazing ,top Quality tutorial and amazing an teacher I have ever seen.. Thank you Andrew from the bottom of my heart.
Great VBA series. It really helps especially those debugging techniques. Thank you Andrew.
honestly, I didn't see tutorials like these in my four years TH-cam life.
Thanks so much for your videos on VBA. You really make VBA easy.
Thank you very much, these are Great, Neat and Useful tutorials! Thanks for your time creating them and sharing with us!
Cheers from Mexico!
Great channel, great series, great teacher. I look forward to watching the whole set.
Thank you so much Andrew. You'r really awesome.
Your VBA Tutorials are amazing keep up the good work!!! :D
Helping me get through my exam which I probably might have failed otherwise!!!
Also by practicing these Codes, I understood the importance of placing inputs(code/variables/values) in order.
I just have to say, really great video tutorials. Well done, Andrew!
Best VBA tutorials by far, hope there will be a lot more..... a lot!
Thank you very much for taking the time and effort to make these great videos. I learnt a lot from them.
You are brilliant. Thank you for educating me on VBA.
much appreciated videos, im lucky to look for them so soon after release
In my quest to understand VBA your tutorials stand out as amazingly well structured and coherent. However, on another site the presenter said 'Dim' stood for 'Declare In Memory', which I thought was interesting, but felt was not correct as I had seen it used as short for 'Dimension' (as you state) on very old industrial computers. That said, it's a clever justification for the usage of 'Dim' that does not detract in the slightest from why it is used.
Just finished the second time around. Thank you, thank you, thank you.
Thanks!, Ive learned a lot of examples and clear explanation
Happy to hear that the video helped you, thanks for watching!
Your videos are extremely helpful. You have excellent insight as to the questions that must be going on inside the viewer's heads as you step from topic to topic allowing you to answer them accurately before they get too far off track.
One question that didn't get answered for me, though. No mention of Static variables?
Such a resourceful and detailed video. Thanks so much for sharing!
This is awesomely awesome stuff! I have wondered how to create inputs, and this has shown me that it's possible! Thanks! I WILL be writing this code today!
*****
I got the variables and the input boxes, but I need a decimal output on one of them, and it's not giving me that when I ask for it.... On to more to see if THAT question is solved! ;)
I have TestData, but what is double? I can't seem to find that yet.
*****
You know, GIGO sucks really, really bad sometimes.... I finally went back and looked at my code line by line, and realized I had an extra line for offset, so my final answer was going into a hidden cell.... Ugh.... But! It works correctly, now! ;)
Yep. Now I need to build some "if" statements. NEXT! ;)
You're the best Andrew!!
Your videos are great. I like the idea of making them more practical rather than theoretical.
Keep up the good work!
Just one more thing though... I feel they are a little slow...
Thanks a lot for this lesson. Youve made it so easy for me to understand this stuff. Amazing!!
Really clear explanation for variables great stuff as ever
This is the best channel on TH-cam available to learn Excel VBA in my opinion!
Excellent job, congratulations and thank you very much!
How can I contribute to your channel?
Thank you for the comprehensive video!!
Wow, Thank you so much. you a great tutor! Really cant stop watching.
Thank you so much Andrew 🙏 this helps a lot 😊
You're very welcome, thanks for watching!
Great and Awesome tutorial videos..!! Thank you so much for sharing it Andrew...!!
شكرا لكم على المحاضرة القيمة
excellent tutorial, way clearer than any other. However noticed the variable doesn't work if you have option explicit at the top
and having watch the whole video I realise why it didn't work!
Chris Wood
Oh Man! Thanks for mentioning it! I have always been stuck with my variables. Once I found a way by defining for example "Dim X as Integer" and then X=...
Never knew it's because of Option Explicit at the top. Well I haven't watched the whole video yet. But sofar, you saved my life :)
I would also like to take the opportunity to thank Andrew ***** for the super awesome tutorials... It motivates me to start SQL after VBA. He is the best tutor ever.
Good God, took me forever to figure that out. Thankfully I saw your comment
Incredibly clear. Thank you!
Very and very nice videos...greetings from Italy
Thanks very much! Where can I find the source files that you use so I can follow along?
the NewFilmName thing isn't working for me.
Does anyone else have this problem?
I followed Andrew's instructions to a T, but it's still not working
Do you have the "option explicit" enabled still? That was my issue.
"Once you've included the Option Explicit statement in a module, Visual Basic for Applications doesn't execute a procedure inside that module unless absolutely all the variables within that procedure are declared.
Thanks you so much for amazing tutorials... you are really amazing
Perfect tutorials. Million thanks for helping!!
I'm learning a lot. Thank you very much!
Great lessons, thank you so much! It has been really helpful!
hi andrew thanks for the amazing lesson here. I'm just wondering how to reset global variables with out closing the entire work book. thank you very much and God bless
Set Public variables to Zero before the sub ends
Very nice, anybody knows what shortcut he used for the indenting at 33:19 ?
Greetings from Denver, Colorado :-)
Thank you for the awesome tutorial! I've watched several videos by others, but you made it a lot easier to understand.
I do have a question, Why split a subroutine if it's getting long? Is it easier to navigate through?
Thank you
In order to call on specific actions bit by bit
Hahaha! 24:35...
Nice work, sir! You have made my career.
i mean horizontally rather than vertically !!!! For the sake of being detail-oriented and precise.
Thanks !!!!!!
Great work, well explained, Thank you for your videos!
Thanks for your great efforts and again thanks for sharing this great value
First I say thank you for your very system tutorial. I could not find the better tutor than you explained as well. Yet, I have two question, let say I have value in B1, then I need to select a cell below B1. I tried to use range("B1").end(xldown).offset(1,0).select, but it didn't work. Please give me solution. The second question is how to set numberin code, let say i need to input number and film name in cell A2 and B2 respectively (the top range (A1:B1) is label). I could not write the code how to increment the number, because I could not add integer type by string type. It looks hard to explain this problem, hopefully you can understand. Thank you Mr. Andrew Gould.
+WiseOwlTutorials thank you. But anyway, I already watched your tutorials until part 22, where can I find the tutorials explaining about worksheetfunction?
I see. Sadly, I really need course about it. Anyway, you are the best programming teacher I ever met. Thank you Andrew.
very good point to make this work if you don't have any values at the beginning
Your Videos are great! Thank you so much
Hey ! Amazing videos really helpful....Just one question, I saw you entered the date as 8 Nov 2013. At 21:59 I saw that the date was saved in the variable in the dd/mm/yyyy format. Will it always save in this format and not the american way of mm/dd/yyyy ? Thanks !
Really good and lots of information! Thank you very much! One question, do you happen to know if VBA is supported in Office 365 or Office 2013, especially if it runs in tablets with Window 8.1 system and Office 365? Thanks.
***** Thanks!
Awesome videos so far, Andrew. I am doing everything simultaneously on my computer, which helps a lot. Just one question remained after this video:
At minute 33:16 you remove the indenting with a shortcut after selecting the lines with you mouse. Which shortcut is that? Thanks in advance!
You are gem brother
Thanks Gurpreet!
really great video tutorials
Thank you, Abdelrahman!
Hello again
I try to solve one dimensional cutting stock problem with excel solver but I have problem with constraints. When solver is finished its show just one optimal solution but I try to make every posible optimal solution for diferent cut lenghts and number of cuts. I think that some loops or something like that is answer but how to do it ...
Thanks
Thank you for this lecture series
Thank you very much Andrew!! I have just one issue -- the IntelliSense does not show up when I press Ctrl + Space . Do you know how I can fix this?
***** Ctrl + J helps
Funny date variable value... In previous tutorials, WiseOwl mentioned that VBA reads dates in USA format (ex: if you parse '#08 Nov 2013#', VBA code would show '11/8/2013'). BUT at 21:57, Locals shows that the value of FilmDate expression is #08/11/2013# (UK-date format)... Is that right?
Hi Rafael! Yes, that's right - dates that you enter in the code window are always shown as #mm/dd/yyyy# (as far as I know) but the Locals Window, Immediate Window (when using Debug.Print) and front end things like MsgBox and the actual Excel worksheet will use your regional settings.
I hope that helps!
Awesome work, great help !
Thank you sir.
You are amazing...greetings from Germany!!!
Can you also do tutorials in C/C++??
very well explained, thanks!
Yes, indeed i will thank you again as i'm just going through all your Introduction course and suddenly actually start understanding what i'm doing... So that's really great.