Samantha is very familiar with Excel. There's no shortage of articles much like this one devoted to the complete Excel novice - but Samantha has spent quite a lot of her working days staring at Excel, running through the same processes over and over again. So it's fair to say that she's not a novice - although it's also fair to say that she's grown decidedly frustrated with having to hit the same buttons and click the same choices over and over again, time after time. If only there was a way to reduce these repetitive tasks to a single click or keystroke, she'd have more time in her day, and a much more cheerful time at that.

With a serendipity to bring a smile to Samantha's face, the solution is already here. However, it's a solution that many choose not to take up, because it involves a little programming. That one word, programming, carries such dense and long-established connotations of incomprehensible data languages, deep technical expertise, and perhaps the old image of the computer boffin typing away in a darkened room. Indeed, Samantha hasn't really considered the programming option; she's not a programmer, she hasn't time to learn complicated coding languages, so how could it help her?

Surprisingly easily, as it happens. If we clear away the fog from around the idea of programming, we find Visual Basic for Applications (VBA), and the means to transform how Samantha uses Excel, with a programming language that is both simple and, importantly, written entirely in English. VBA allows Samantha to communicate directly with Excel, rather than following predefined choices and consequently she can tell the software to do just what she needs it to do - and that can mean reducing those endless repetitions to a single keystroke.

One of Samantha's nuisance tasks is to pick out certain aspects of a dataset and produce a report: the company she works for installs and maintains air conditioning and heating for large office complexes and engineers are sent all over the country to many different clients. Management need these reports to keep an eye on incomes and expenditures for a range of issues that the business deal with, breaking down the figures by factors such as the work done for each client, the cost of working with certain types of installation, the income raised and time taken by each engineer or the frequency of return trips to the same location. Every time, she selects the necessary fields one by one, before creating a report with Excel's range of analytical tools. Each stage of this process has a corresponding VBA command - so programming this sequence of events (called a macro), is as simple as putting the necessary commands in order within Excel's VBA editor. Once the macro is compiled, Samantha can associate it with whatever keyboard shortcut she chooses, and the job is done. The same process can apply to any sequence that Samantha runs through, such as creating new datasheets with the standard fields for a new client, or changing the formatting of a number of cells.

All Samantha needs to learn, then, is the simple syntax of objects, (such as the worksheet or a chart), properties (a quality of the object, such as formatting) and methods (actions that can be performed - such as creating the reports that Samantha requires). The activities that Samantha wants carried out can all be defined as just changing the property or method of an object - or, if you like, as just changing what something is, or telling it what to do. A short training course will certainly help her become comfortable with using VBA whenever repetitive Excel tasks occur. Surely, Samantha never imagined that programming could put a smile back on her face.