Re: VBA-Frust
02.01.2003 10:17:32
Martin Beck
Hallo Sabine,nach dem Motto "Es ist alles gesagt, nur noch nicht von allen" hier noch ein paar Anmerkungen von mir:
1. Problem zunächst alltagssprachlich beschreiben und "lösen" (Was ist das Ziel? Wie muß ich vorgehen? etc.).
2. Eine Lösungsstruktur entwickeln. Wo immer möglich, Problem in kleinere, leichter zu lösende Teilprobleme zerlegen.
3. Makrorekorder plus Onlinehilfe nutzen! Wenn es möglich ist solltest Du die Lösung zunächst mit dem Makrorekorder aufzeichnen. Das gilt insbesondere auch für Vereinfachungen des ürsprünglichen Problems. Beispiel: Für jede Zeile, in der das Wort "Test" vorkommt, soll die Zeilenhöhe auf "20" festgelegt werden. Dies läßt sich in (mindestens) 3 Teilprobleme zerlegen. a) Welche Zeilen müssen überprüft werden? (Wenn die Laufzeit kein Problem ist, dann alle.) b) Kommt das Wort "Test" vor? c) Zeilenhöhe festlegen. Für c) habe zumindest ich die exakte Syntax nicht im Kopf. Daher würde ich in irgendeine Zeile gehen, den Makrorekorder einschalten und die Zeilenhöhe manuell auf 20 setzen. Danach den aufgezeichneten Code analysieren und dazu die Online-Hilfe nutzen (am besten fürjeden Dir unbekannten Begriff). Auch die Optionen Betrifft, Methoden, Eigenschaften etc. mit anschauen, dann bekommt man leichter einen Einblick in die Zusammenhänge.
4. Wenn im Programmablauf Fehler auftreten, den Inhalt der Variablen prüfen, indem Du im Testmodus einfach den Mauszeiger auf die Variable hältst und einen Moment wartest.
5. Für grundlegende Programmiertechniken Hans' xlBasics heranziehen (findet sich unter http://www.xlfaq.herber.de/).
6. Bücher: Ich fand das Buch von Eric Wells (m.W. einer der Excel-Entwickler) "Lösungen entwickeln mit Excel" im Microsoft Press Verlag ganz gut. Ich habe die Ausgabe für Excel 5.0 und die enthält u.a. eine Übersicht der Objekthierarchie. Von Microsoft gibt's online auch noch eine Darstellung von VBA für Office 97 unter ~a~http://www.microsoft.com/officedev/articles/Opg/toc/pgtoc.htm~z~
7. Üben, üben, üben.
8. Fragen, fragen, fragen ;-)
Gruß
Martin Beck