Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1276to1280
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA effektiv lernen

VBA effektiv lernen
TobiasS
Hallo!
Ich habe nun 3 VBA Anfängerbücher gelesen und programmiere eigentlich täglich rum. Dieses Forum ist nebenbei bemerkt übrigens super und ich bekomme hier immer sehr viel Hilfe. Nun möchte ich einen Schritt weiter gehen und tiefere Programmierkenntnisse gewinnen, so dass ich die Sache auch richtig verstehe und effizientes Programmieren lerne und nicht nur Codes erweitere oder alltägliche Routinen wiederhole. Könntet ihr mir vielleicht Tips geben, wie ich dazu am besten vorgehen kann?
Vielen Dank schonmal im voraus!
Beste Grüße
Tobi!

VBA effektiv lernen: Foren lesen
05.09.2012 23:24:02
Rudi
Hallo,
so hab ich's auch gelernt.
Keine Bücher, keine Kurse
Gruß
Rudi

AW: VBA effektiv lernen: Foren lesen
06.09.2012 00:43:04
Matze,Matthias
Hallo Tobi,
ich kann mich Rudi nur anschließen obwohl ich von seinen Kenntnissen weit entfernt bin.
Ich habe hiermir angefangen : http://www.video2brain.com/de/videotraining/excel-2010-vba
und das hilft mir heute immer noch. Und wenn es mal nicht weiter geht, dann ist dieses Formun genau der richtige Platz.
Gruß Matze

AW: VBA effektiv lernen: Foren lesen
06.09.2012 09:38:25
TobiasS
Danke für eure Antworten. Dann werde ich so weiterverfahren und würde sagen, wir sehen uns sicherlich hier im Forum des öfteren :)
bis dahin
Tobi

Anzeige
...Ansonsten Denken und Ausprobieren, ...
06.09.2012 11:00:37
Luc:-?
…Tobi,
dann kommst du ggf auch auf Dinge, die du in keinem Forum findest! Außerdem kann man selbst auf WebSites von Schulungs­unternehmen falsche Behauptungen finden, was sich dann garantiert in deren Le(e)hrveranstaltungen wiederholt… ;->
Bspp: Irrige Ansicht zur (angeblich eingeschränkten) Nutzbarkeit von For Each-Zyklen im Schulungsmaterial auf der Site eines Wiener Schulungsunternehmens, Verwechslung von „Kaufmännischem“ mit sog Bankers Rounding bei einem promovierten deutschen (Hobby-)MSO-Schuler.
Nachteil von Foren: Auch irrige Ansichten können kolportiert wdn und eigenes Denken be- bzw gar verhindern, wenn sie von einem vermeintlichen oder tatsächlichen Fachmann stammen bzw oft genug wiederholt wdn. Merke: ProfiPgmierer sind auch nur Menschen, folgen dem einst Erlernten und können darüber hinaus nur aus (selbst) gemachten Erfahrungen schöpfen.
Also lass dir nichts einreden, was du nicht selbst probiert hast!
Viel Erfolg, Luc :-?

Anzeige
AW: VBA effektiv lernen
06.09.2012 10:31:09
fcs
Hallo Tobi,
ich hab mir zur Makro-Programmierung im Laufe der Jahre ganze 2 Bücher bzw. Heftchen angeschafft.
- 1992 - Makroprogrammierung für Excel 4.0
Der typische 500 Seiten Wälzer mit Beispielen auf 5 1/4"-Diskette für damals 69,-- DM.
- 2005 - VBA mit Excel für Version 2000 - 2003 aus dem KnowWare-Verlag
Ein kompaktes 71 Seiten-Heftchen spontan für 4,40€ in einer Bahnhofsbuchhandlung gekauft.
Auch heute noch für Anfänger empfehlenswert, da man mit allen wesentlchen Aspekten der VBA-Programmierung vertraut gemacht wird, die auch heute noch gültig sind.
Alles weitere ist/war "learning by doing" oder "learning by looking".
Die Basis meiner Programmiertechniken konnte ich im Rahmen meines Ingenieurstudiums lernen in Verbindung mit FORTRAN und BASIC. Datenträger für den Daten-Input waren damals noch Lochkarten.
An diesen Basistechniken hat sich unabhängig von der Programmiersprache bis heute nichts geändert.
1. Erstelle vor Beginn des Programmierens einen PAP (Programmablaufplan)
Ist Pflicht für jedes etwas größere Projekt und dient auch der Programmdokumentation
2. Strukturiere deine Programme
- Hauptprogramm
- Sub-Routinen/Funktionen ggf. mit Parameterübergabe / Ergebnisrückgabe
- Modularisierung der Programmfunktionen
- Beachte "Small is beautyful" - vermeide unübersichtliche Code-Monster
3. Nutze die Basisfähigkeiten der Programmiersprache
Unter VBA bedeutet dies auch die Nutzung der Funktionen der Haupt-Programme. Vermeide das Neu-Erfinden des Rads.
4. Verwende aussagekräftige Variablennamen
5. Füge im Code Kommentare ein zu den jeweiligen Programmfunktionen
Für dich selbst und insbesondere Dritte sollte man den Code lesen können wie ein Buch.
Unter VBA solltest du für ein effizientes Programmieren unbedingt:
1. konsequent explizit deklariere Objektvariablen verwenden
Dadurch hast du im VBA-Editor immer direkten Zugriff auf die für das jeweilige Objekt gültigen Methoden und Eigenschaften.
Der Austausch von Daten zwischen den Objekten (z.B. Arbeitsmappen/Tabellenblättern) ist einfach zu realisieren.
Die Pflege des Codes wird dadurch vereinfacht, da man sich bei Anpassungen "nur" um die Set-Anweisungen kümmern muss.
Code wird daruch auch übersichtlicher und leichter nachvollziehbar.
Ich bin z.B. inzwischen dazu übergegangen auch das aktive Tabellenblatt bzw. die aktive Arbeitsmappe entsprechenden Objektvariablen zuzuweisen.
2. einen "Fuhrpark" von Funktion und Sub-Routinen für Standardaufgaben anlegen.
Diese können dann beliebig ohne Anpassung in neue Projekte eingebunden werden, indem du in den Funktionen/Routinen entsprechende Übergabeparameter definierst.
Das ist meistens wesentlich effektiver als "brauchbare" Codeschnipsel aus früheren Projekten zu kopieren und in neue Projekte einzufügen
tiefere Programmierkenntnisse ?
In welche Richtung?
1. Spezielle Funktionen in Excel (z.B. Pivottabellen, Diagramme, Autofilter)?
Hier kann der VBA-Excel-Objektkatalog behilflich sein und auch hier gilt: deklariere entsprechende Objektvariablen, um an die korrekten Methoden und Eigenschaften zu kommen.
2. Austausch von Daten mit externen Programmen?
Hier bleibt dir natürlich nichts anderes übrig als dich intensiv mit der Zielanwendung (Word, Access, etc) zu beschäfftigen. Dabei hab ich mir angewöhnt das Grundgerüst soweit möglich in der Zielanwendung zu programmieren und dann in Excel im Code zu integrieren. So hat man ggf. auch die Möglichkeit Makros in der Ziel-Anwendung aufzuzeichnen, um die Syntax im Code korrekt hinzubekommen.
Wichtig wenn man in Excel den Verweis auf die entsprechenden Objektbibliotheken nicht setzen möchte (sogenanntes Late binding).
Bevor man den in der Zielanwendung erstellten Code nach Excel transferiert müssen
1. alle anwendungsspezifischen Konstanten im Code durch ihre nummerischen Werte ersetzt werden. Die Werte kann man leicht ermitteln in dem man die Prozeduren im Schrittmodus startet. Alternativ geht es auch im Objektkatalog, ist aber sehr mühselig. Zur leichteren Lesbarkeit des Codes ergänze ich dann immer die Konstanten in einer Kommentarzeile.
2. Alle anwendungsspezifisch deklarierten Objektvariablen müssen als allgemeines Objekt deklariert werden
z.B. wdDoc as Word.Document zu wdDoc as Object
Gruß
Franz

Anzeige
Meinste nich', dass das 'n bisschen viel ist ...
06.09.2012 11:19:50
Luc:-?
…fürn Anfänger, Franz? ;-)
Außerdem kann man bei manchem auch etwas anderer Ansicht sein bzw noch andere Organisationsformen und -mittel benutzen. Jeder hat da so seine Gewohnheiten… ;-)
Gruß Luc :-?

AW: Meinste nich', dass das 'n bisschen viel ist ...
06.09.2012 12:16:31
fcs
Hallo Luc,
nicht unbedingt. Ist halt die Frage wie man
Nun möchte ich einen Schritt weiter gehen und tiefere Programmierkenntnisse gewinnen, so dass ich die Sache auch richtig verstehe und effizientes Programmieren lerne und nicht nur Codes erweitere oder alltägliche Routinen wiederhole.
mittelfristig interpretiert.
Gruß
Franz

Anzeige
Naja, wer weiß, ob er nicht am Strand einer ...
06.09.2012 17:07:18
Luc:-?
…verträumten Lagune saß, Franz,
und du bietest ihm gleich einen kurzen Blick in den Marianengraben… ;-))
Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige