Visual Basic 2008 auch für Excel-Makros?

Genovo

Stammgast
Hallo zusammen

Zuerst 'meine Systemvoraussetzungen': SIZ Power User (Ø5.4), sonst nichts

Ich habe mir gerade die 'Microsoft Visual Basic 2008 Express Edition' heruntergeladen.

Eigentlich möchte ich jedoch keine Programme schreiben, wie es mit diesem Programm möglich ist.

Mein eigentliches Ziel ist es, Excel-Makros besser zu verstehen um diese zielorientiert im Alltag einsetzen zu können.
z.B. um mirTastatureingaben zu ersparen oder (m.M. nach sehr) anspruchsvolle Abgleiche/Synchronisierungen zwischen 2 verschiedenen Excel-Dateien zu machen.

Praxisbeispiel: Ich habe ein (riesiges) Excel-document und möchte dass das Makro folgende Schritte ausführt:
1. Neues Excel-doc. erstellen
2. Nach meinen Vorstellungen bestimmte Inhalte des aktuellen Excel-doc. ins neue Excel-doc. einfügen
3. Diese Inhalte nach zuvor definierten Parametern, die auf einem separat erstellten Excel-doc. definiert sind, ins neue Excel-doc. einfügen und sortieren
4. Die Liste und Anforderungen würden während der Umsetzung sicher noch steigen...

Ich denke, dass es zur Umsetzung der obigen Punkte einem grundlegendem Verständnis der Funktionsweise eines solchen Makros bedarf.
Aber korrigiert mich, falls ich falsch liege.

Wie würdet ihr vorgehen, um euch dieses Wissen anzueignen?
-> MSDN? Probieren geht über studieren? Buch kaufen, wenn ja welches? Internet?

Danke für eure Vorschläge ;-)
 
Zuletzt bearbeitet:
Das gesuchte nennt sich "VBA", das von dir fälschlicherweise angenommene heisst "VB".

Visual Basic ist eine Programmiersprache, wie sie im Buche steht. VBA = Visual Basic for Applications jedoch ist eine Visual Basic identische Sprache, welche nur für Office (i.d.R.) oder Visual Studio eingesetzt wird. Ein VBA-Makro schreibt man somit eigentlich auch im Office enthaltenen VBA-Makro-Editor.

Wenn du dir ein Buch zulegst. dann musst du nach VBA suchen, und nicht nach VB.
 

Genovo

Stammgast
bedeutet das:

VBA = VB, aber mit Einschränkungen?

Was sind das für Einschränkungen?

Aber wenn VBA identisch mit VB ist, dann ist das beide doch genau das gleiche?

Kann ich dann VB lernen und beherrsche dann VBA genauso gut?

Wenn das so ist, dann wäre es doch gescheiter VB zu lernen, das es im MSDN eine sehr ausführliche Anleitung gibt und das erst noch gratis ist.
 
VBA /= VB

VBA übernimmt nur seine Syntax und eine Vielzahl an Befehlen und Methoden von VB, jedoch nicht dessen Eigenschaften wie "kompilieren" beispielsweise.

Wenn du VBA programmieren willst, dann hilft dir VB selbst nur einen minimalsten Teil. und zwar lediglich um grundlegende Regeln zu erlernen.
 

froeschli

Stammgast
VBA hat die gleiche Struktur und Syntax wie VB. VBA erweitert aber die VB Bibliothek um weitere, Programm spezifische Befehle und Objekte. Somit ist auch VBA != VBA, denn in Word hast du andere Eigenschaften und Objekte (z.B. new Document) als in Excel (z.B. new Worksheet). Selbstverständlich lassen sich diese Elemente via Plugins kombinieren.

Nach welcher Methode du dir dein Wissen am besten aneignest, kann ich dir nicht sagen. Ich habe damals bei der Arbeit einen Auftrag erhalten, ein bestehendes Makro zu modifizieren. Von da ging es immer weiter, versuchen zu verstehen, ändern, erweitern....

Gruss froeschli
 

Officer

Stammgast
VBA hat die gleiche Struktur und Syntax wie VB.

Da muss ich Dir wiedersprechen. VB ist eine objektorientierte Programmiersprache. VBA ist eine extrem abgespeckte Sprache, die speziell für Office programmiert oder angepasst wurde. Sie ist pseudoobjektorientiert, hat aber für Office genug Möglichkeiten, um sehr gute 'Programme' zu schreiben.

...efehlen und Methoden von VB, jedoch nicht dessen Eigenschaften wie "kompilieren" beispielsweise.

Kompilieren kann man den Code in Access, was auch VBA ist. Aber in den anderen Office-Produkten stimmt das.

Wenn du VBA programmieren willst, dann hilft dir VB selbst nur einen minimalsten Teil. und zwar lediglich um grundlegende Regeln zu erlernen.

Um erstmal grundlegend Programmieren zu lernen, bist Du meiner Meinung nach mit VB überfordert. Grundlegend meine ich: Schleifen bilden, Daten vergleichen und je nach Resultat andere Aktionen ausführen etc. Diese Dinge sind schlussendlich in jeder Programmiersprache die gleichen/ähnlichen.

Nach welcher Methode du dir dein Wissen am besten aneignest, kann ich dir nicht sagen.

Excel und Word haben die angenehme Eigenschaft, Makros aufzeichnen zu können. Wenn man dann den erstellten Code ansieht und viel mit der F1-Taste die Details zu den Befehlen ansieht, lernt man meiner Meinung nach sehr viel. Dann helfen sicher noch Bücher, Internet (Für Excel z.B. http://www.herber.de/index.html, für Access www.donkarl.com)) Newsgroups etc.
 
Oben