Hello Nej12
I see you are a new member here, so I’d like to start out by welcoming you. This is a fantastic place with a seemingly limitless amount of knowledge; knowledge freely and happily given by people who love to help others. The decision to join this website has been one of the best decisions I’ve ever made. You have asked some good questions and I hope I can at least partially answer them.
You asked:
1. Where does all this education come from?
I can’t speak for the other members here, but in my case, while I do have a Bachelor’s Degree in Computer Information Systems (a fancy name for computer programming), I can’t say that has really helped me much, because I earned this back in the late 80’s. I’m not even sure if Excel was on the market then. If it was, I wasn’t exposed to it. However, that training did teach me a more detailed way of thinking than I’d known before and that has been a big help. As far as the other members here, I’d guess it’s most likely a combination of formal education and years of practical experience.
2. What is the most important basics someone would need to understand programming?
My answer to that would be two-fold. First, you need an UNLIMITED amount of patience. I’m being serious when I said UNLIMITED! I think computers are the most frustrating things humans have ever invented, even though I love those machines. You may spend hours or days struggling to get some program to work, until you reach the point where you literally want to pull your hair out. You’ll find yourself cursing the day you started programming. There will be some serious questions about your sanity at that time. However, if you are stubborn and determined enough to not quit, at some point you will make even a slight change to the code, and suddenly, everything falls into place. Nej, I have to tell you, when that happens, you will experience possibly the greatest joy you’ve ever felt. There is nothing quite like it. Suddenly all those long hours of seeing only error messages, don’t seem quite so bad.
The second part of my answer would be a sharp eye for details. You will have a process in mind, and you will think that is what you have told the computer to do, however, that may not be exactly the case. Humans are visual creatures while computers are literal. As you’re typing in your code, your mind is racing ahead and so will ‘assume’ you have given complete, detailed instructions. The computer doesn’t know, or care, what you are thinking or want, it will ONLY do EXACTLY what your code says to do. Nothing more, nothing less. Accidentally typing a comma instead of a period or placing a parenthesis in the wrong place can make a world of difference. You may have two commands in the wrong sequence. Line ‘A’ should follow Line ‘B’ but you’ve placed them in the wrong order. Your program may work fine with no error messages; however, you will get the wrong answer. To debug your program, you have to think like the computer does and carefully analyze each detailed line of code as it’s written, not as you think it should be. Once again, as I said in the first part of my answer, when you find that misplaced parenthesis, and now everything works, you will jump up and yell ‘YAHOO!’
3. To be a programmer, does one have to be really good at math?
No, not necessarily, however, as in anything you do, the more ‘outside knowledge’ you have, the better. It’s true that while using Excel, a good portion of the time you will be working with numbers, but quite often text is involved too. It’s great if you can look at your numbers and mentally estimate what your answer should be, because that will give you a good idea whether your formula is working. Programing Excel or VBA doesn’t mean you will be doing the actual adding or subtracting, but that you will be entering the correct formula to allow the computer to make those calculations.
4. What makes someone really excel at Excel?
I’m not sure there is any one answer to that question. I think it would be a combination of everything I’ve said above here and more. A lot will depend on how bad you want to learn Excel or any other type of programming. Are you willing to shut the TV off and forgo that soap-opera or that football game and read about or practice some command? Is your desire to know more, job related or just something you’re mildly curious about? If you have the time and money, would you enrol in a course? Do you enjoy solving problems? Are you a patient person or do you have to have instant gratification, or you lose interest? If you can answer ‘YES’ to these questions, then you’ve taken the first step to becoming a programmer. Keep in mind, as in most things in life, success doesn’t happen over night, but it is true that ‘practice does make perfect.’
I come here every chance I get and study the questions posed by people. Then I try to figure out a solution, even in my mind, given the limited Excel knowledge I have. After that, I’ll carefully study the answer offered by others. Sometimes I’ve set up sample programs and data, then played with the solution offered, trying to understand how and why it works. Because I know I can’t remember everything, I’ve set up an Excel file where I’ll copy and paste questions and the answers. This way, I have something to refer to when needed.
In the brief time I’ve been a member here, I’ve been fortunate enough to offer solutions to a few people. When I’ve been able to do that, I’ve been rewarded with a wonderful feeling. You seem to be interested in programming, so I hope something I’ve said here will encourage you to follow up and explore this wonderful world. Who knows, maybe some day you will have the solution to some problem I’ve struggled with. I look forward to that day. Good luck!
TotallyConfused (yes, in many cases, I still am) :)