> I need to do some macros in Excel. Am I correct in assuming that I should > learn VBA to do this? > > If so, can anyone recommend a good book for begginers VBA. > > Things I will want to do is to be able to place some values that will > arrive in A1 through D1 into other cells, to form a list. I will also like > to be able to visually graph the data that is arriving and being placed > into other cells in real time. Is this doable with VBA? > > Thanks > > John You really need to know two things, Excel & VBA. If you don't know Excel, you end up writing VBA routines to emulate (poorly) what Excel already does. The graphing you describe can be done with plain Excel, with the VBA macro running to pull in data. You might want to explain "data that is arriving and being placed into other cells in real time" a bit more. VBA is just like VB. Excel 97 = VB5, Excel 2000 & above = VB6. There's not a great deal of difference between the two. eg VB6 added the Split & Join functions, lets you return arrays from funtions etc. Like Don Taylor, I'd say look at the John Walkenbach books. There's one book just on charts. He has a VBA one and is currently writing 'VBA for Dummies'. He may have finished that. His web site is http://www.j-walk.com, and has bunch of stuff you might find useful. The book Don may be thinking of is "Professional Excel Development", which is a bit heavy duty. For people who know Excel and VB (but not how to use one with the other), Wrox puts out a fairly good book. It's a bit terse, as it skips the basics. The key to Excel VBA is knowing Excel. Figure out how Excel does something, then code it. The other tip is don't write cell by cell, put your data in an array, then copy it to the sheet (faster). One solution to your problem is with PivotCharts (XL2000+). A PivotChart can be set up to "Get External Data", and refresh every minute. (A refresh macro can speed that up). External data can be anything from a text file, database query, or another spreadsheet, which you can update or replace as needed. This can be a zero VBA solution, is your idea of "real-time" is "every 60 seconds". Tony -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist