Was haltet ihr von VBA?
lima-city → Forum → Programmiersprachen → Basic
anwendung
arbeit
arbeiten
code
datenbank
fehlermeldung
jahr
leben
leute
meinung
mist
paar
problem
programm
programmieren
realisieren
sache
spiel
verwenden
zeile
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also ich persönlich muss auf der Arbeit auch alles mit VBA machen, ab und an auch PHP. Kann mich aber nicht damit anfreunden.
Denke aber, mir fehlt da manchmal etwas die Übung und deshalb fällt mir das so schwer, unser Programmierer aber macht recht lustige Sachen damit, von daher ist es schon nicht nur schlecht :)
Was mir halt gar nicht gefällt ist der Wechsel zwischen Quellcode und den Eigenschaften in Formularen. -
VBA (Visual Basic for Applications) ist ja einfach nur eine abgespeckte und angepasste Version von Visual Basic 6 für Microsoft Word, Excel, PowerPoint, Access und Outlook. VBA ist bei jeder Office-Version bereits integriert. Es können keine eigenen Programme erstellt werden, sondern nur sogenannte \"Makros\" und kleine in der jeweiligen Office-Datei eingebauten Minianwendungen.
Warum ihr wohl mit VBA anfängt?
- Die meisten haben Microsoft Office zuhause und können somit üben (Niemand muss sich also etwas zusätzlich installieren etc.)
- Für Neuansteiger ist der Code in einer sehr verständlichen Sprache
- Bereits nach wenigen Zeilen Code kann man sein Ergebnis betrachten
- Nicht jeder tut sich leicht beim Programmieren. Diese werden sich schon in VBA schwer tun und in bei C++ gar nicht mehr durchblicken
- In VBA kann man gleich praktische Fälle bearbeiten, z.B. Zellen in Excel sortieren lassen usw.
Was meinst du denn mit größeren Sachen?
Wenn du richtige Software schreiben willst, kannst du sowieso nicht VBA verwenden, sondern VB oder VB .NET
Das eigentliche Ziel von VBA ist es, dass du Arbeitsschritte in Microsoft Office dir erleichtern kannst oder automatisieren lässt. -
ja, mit größeren Sachen meine ich
sehr komplizierte Rechnungen in Excel...
Naja,
ich würde mich halt eher mit C++ bzw. Perl anfreunden,
naja, muss ich mir das halt so beibrngen^^ -
Ich finde VBA ganz nützlich im Büro Alltag.
Wenn man da etwas drauf hat, hat man ein sehr großen Vorteil gegenüber seiner Kollegen.
Einige meiner Kollegen wundern sich, wieso ich immer mit meiner Arbeit so schnell fertig bin.
Nach einigen Makros und etwas eingebauten Sachen von mir, hab ich meiner Arbeit automatisiert.
Wenn man sich etwas dahinter Klemmt macht es Spaß.
Gruß Nano
Beitrag geändert: 9.4.2008 12:03:40 von nanofrager -
@ xfactor
Bei welcher Rechnung würde Excel bzw. VBA denn aufgeben?
Mir ist in meinem Arbeitsalltag noch nichts begegnet was Excel an seine Grenzen stoßen lässt.
Naja bis auf die Zeilen- und Spaltenbegrenzung. ;) -
@ xfactor
Bei welcher Rechnung würde Excel bzw. VBA denn aufgeben?
Mir ist in meinem Arbeitsalltag noch nichts begegnet was Excel an seine Grenzen stoßen lässt.
Naja bis auf die Zeilen- und Spaltenbegrenzung. ;)
Auch diese kann man überlisten und über ganze Arbeitsmappen rechnen lassen. Meine größten Anwendungen damals verarbeiteten schon ein paar Millionen Datensätze. Wer VBA (Excel) richtig einsetzt, dann damit auch Applikationen schreiben, die schon nichts mehr mit Excel zu tun haben. Excel wird dann nur als Kernel mitverwendet. DLL-Einbindung ist ebenfalls problemlos möglich. Eigentlich sind die Anwendungsmöglichkeiten unbegrenzt. Einzig und allein die Verarbeitungsgeschwindigkeit lässt etwas zu wünschen übrig. Achja, Spiele sind auch nicht gerade damit zu realisieren, aber für Anwendungssoftware ist es ideal. -
Alles in allem hatte Narrenkönig schon eine sehr schöne Beschreibung von VBA abgegeben...ABER
\"Das eigentliche Ziel von VBA ist es, dass du Arbeitsschritte in Microsoft Office dir erleichtern kannst oder automatisieren lässt.\" (Wie ist hier das Quote-Tag?*g)
will ich nicht so stehen lassen *g
Persönlich habe ich knapp zwei Jahre gewerblich Access Anwendungen erstellt. Zu Zeiten war VBA natürlich überfordert, bzw. war es mit Windows-Boardmitteln (API, WMI, etc) und vorhandenen COM´s nicht möglich oder zu umständlich eine Lösung zu erarbeiten.
Dann wurde eben übers .Net (C#, VB2005) eine COM-Komponente geschrieben und in Access eingebunden.
Ob VBA ein Einstieg in die \"Programmierung\" bietet? Jein. Es können schon grundlegende Programmierungsabläufe damit gelehrt werden: Schleifen, Bedingungen, Variablen (auch Arrays und Co) sogar eine \"Art von Fehlerbehandlung\".
Aber wegen nicht (bzw. nur Ansatzweise) vorhandener (echter) Objekt Orientierter Programmierung ist es sicher nicht zeitgemäß.
Perönlich kam ich in die Programmierung während einer 1jährigen Berufsfachschule Informatik. Damals mit JAVA. Hat mir eben den Einstieg sehr gut ermöglicht. Vielleicht auch dank der Arbeit unserer Lehrerin
Auch war ich für einige Wochen während eines \"Praktikums\" an der örtlichen Fachhochschule tätig und mimte den \"Tutor\". C++ in die Köpfe von Leuten kregen zu wollen die Informatik als Pflicht belegen müssen ist nicht sehr amüsant...
Es kommt eben darauf an wem Du wo was beibringen musst: In einm Wahlkurs \"Informatik\" an einer Realschule kannst Du eben nicht mit 6Std/Woche C lehren...
Wenn Du Dich lieber mit C++ beschäftigen willst, lerne im \"Unterricht\" grundlegendes, in der Freizeit C++.
Vielleicht teilst DU uns mal mit wie weit Du selbst bis jetzt gekommen bist ;)
BG, Felix -misterdemeanor -
Ich hab mich damals für eine Access-Datenbank mit VBA auseinandergesetzt.
Ich war für eine kleine Firma tätig, die sich keinen Admin/Programmierer leisten konnte, aber dringend eine automatisierte DB für Anrufdokumentationen benötigte.
Was soll ich sagen: Irgendwann lief das Teil, hat mich aber meine letzten Haare gekostet. ;)
Für Quereinsteiger ohne große Kenntnisse also ganz nett, gibt für Profis aber sicher bessere und sauberere Lösungen.
Mein schöbstes Erlebnis war eine Fehlermeldung, die ich nicht vorenthalten möchte:
(Die Datenbank lief am Vorabend problemlos und der Rechner wurde direkt vor dem Starten der DB hochgefahren)
\"Es ist ein Fehler aufgetreten und zwar genau der, der in der vorherigen Fehlermeldung angezeigt wurde. Beheben Sie das Problem, bevor Sie es erneut versuchen!\"
Ich war nahe eine Nervenzusammenbruchs (das Teil wurde ja gerade neugestartet, also gab es keine \"vorherige Fehlermeldung\" und zudem lief es am Vorabend!!!), aber gleichzeitig auch von den rethorischen Fähigkeiten von Access fasziniert!
-
...
Mein schöbstes Erlebnis war eine Fehlermeldung, die ich nicht vorenthalten möchte:
(Die Datenbank lief am Vorabend problemlos und der Rechner wurde direkt vor dem Starten der DB hochgefahren)
\"Es ist ein Fehler aufgetreten und zwar genau der, der in der vorherigen Fehlermeldung angezeigt wurde. Beheben Sie das Problem, bevor Sie es erneut versuchen!\"
Ich war nahe eine Nervenzusammenbruchs (das Teil wurde ja gerade neugestartet, also gab es keine \"vorherige Fehlermeldung\" und zudem lief es am Vorabend!!!), aber gleichzeitig auch von den rethorischen Fähigkeiten von Access fasziniert!
lol
Ja, Fehlermeldungen sind immer etwas Unerwartetes und meist Feines. Ich versuche in meinen Anwendungen nicht immer solchen nichtssagenden Schrott anzeigen zu lassen.
@misterdemeanor
Jap, habe mich auch seit es VBA für Excel gibt mich beruflich damit außeinander gesetzt und wirklich so gut wie alles damit geschrieben. Sogar Word-Briefe erstellen konnte man damit, oder Datenbanken ohne MS Access. ;)
Als Softwareentwickler habe ich unzählige Anwendungen damit erstellt. Auch Dinge, die angeblich damit nicht gehen sollten.
Auch in meiner Eigenschaft als IT-Referent habe ich es doch vielen näher bringen können und die waren meist überrascht, wie vielseitig eine oftmals so \"schlechtgeredete\" Programmiersprache sein kann, da es ja jeder für chic hält, C oder C++ zu programmieren.
Eine Geschichte noch am Schluss. Mit meinem alten Powerbasic, an dem ich einige Befehlsbibliotheken selbst erstellt habe, kann ich auch Systemsoftware schreiben, die direkt auf die Hardware zugreift. Mit dem damaligen Borland C ließ sich eine ähnliche Software nicht realisieren. Man muss immer schauen, für was man was verwenden kann.
Beitrag geändert: 14.4.2008 12:37:20 von bluedragonebook -
Ja, Fehlermeldungen sind immer etwas Unerwartetes und meist Feines. Ich versuche in meinen Anwendungen nicht immer solchen nichtssagenden Schrott anzeigen zu lassen.
Option Explicit Private Const OT = &O6 Public Function AnswerOnReply(ByVal contentID As Long) As Long On Error GoTo localErrHandler \'... localErrHandler: Dim errMsg As String Select Case Err.Number Case 0 Case OT errMsg = \"Sorry, quatsche hier an der Topic vorbei\" & vbCrLf _ & \"Soll nicht wieder vorkommen.\" MsgBox errMsg, vbCritical, \"Hoppla! Zu sehr Off Topic\" \'Call GlobalErrHandler(mrdNoneCritical,\"AnswerOnReply(\" & contendID & \")\" AnswerOnReply = -1 Case Else \'Call GlobalErrHandler(mrdNoneCritical,\"AnswerOnReply(\" & contendID & \")\" End Select End Function
Man muss immer schauen, für was man was verwenden kann.
Absolut.
Als Anwendungsentwickler für ausschließlich Windowsumgebungen muss ich selten, respektive nie, \"hardwarenah\" arbeiten. Da ich eigtl. \"nur\" DB-Frontends entwickele liegt auch der Performance-Faktor eher auf dem DB-Server, bzw. des eingesetzte RDBMS selbst. Daher setze ich momentan nur auf .Net Sprachen wie C# und VB2005 (LINQ hin oder her).
Also um halbwegs wieder etwas zur Topic beizutragen: Als \"Lehrer\" würde ich wohl weder auf VBA noch auf C++ zurückgreifen. Zumindest nicht um Schüler/Studenten an das \"Programmieren\" heranzuführen. Persönlich würde ich dann wohl (allein aus Kostengründen) das VS Studio Express für C# einsetzen.
Werde von M$ weder bezahlt noch bin ich bei denen MVP oder dergleichen, nur sehe ich die .Net Technologie von Ihrem Beginn bishin in die Zukunft als einzigste relevante Konstante in der \"Windowsprogrammierung\". Visual C++ natürlich mitinbegriffen.
Wie geschieben kam ich ans programmieren mit Java im Jahre 2000 und war damals begeistert von dessen Class-Framework, Applets und OS-Unabhängigkeit. Letztere beiden sind heutzutage ja nicht besonders relevant (??oder??).
BG, Felix -misterdemeanor-
-
misterdemeanor schrieb:
Wie geschieben kam ich ans programmieren mit Java im Jahre 2000 und war damals begeistert von dessen Class-Framework, Applets und OS-Unabhängigkeit. Letztere beiden sind heutzutage ja nicht besonders relevant (??oder??).
BG, Felix -misterdemeanor-
also du willst das deine Programme nur leute benutzen die auch das Kapitalistisch-Ausbeuterische System Unterstützen und nicht die Arbeit an sich schätzen.
Dann bist du wohl auch einer der Webseiten nur für den IE entwickelt da \"OS-Unabhängigkeit nicht so wichtig\" ist -.-#
In einer Zeit in der Linux auf dem Vormarsch ist!
Mal abgesehen davon das die Ganze obere hälfte von deinem Post nur Spamm ist komm ich mal wieder back on Topic:
cbhp schrieb:
VBA (Visual Basic for Applications) ist ja einfach nur eine abgespeckte und angepasste Version von Visual Basic 6 für Microsoft Word, Excel, PowerPoint, Access und Outlook. VBA ist bei jeder Office-Version bereits integriert. Es können keine eigenen Programme erstellt werden, sondern nur sogenannte \\\'Makros\\\' und kleine in der jeweiligen Office-Datei eingebauten Minianwendungen.
Warum ihr wohl mit VBA anfängt?
- Die meisten haben Microsoft Office zuhause und können somit üben (Niemand muss sich also etwas zusätzlich installieren etc.)
- Für Neuansteiger ist der Code in einer sehr verständlichen Sprache
- Bereits nach wenigen Zeilen Code kann man sein Ergebnis betrachten
- Nicht jeder tut sich leicht beim Programmieren. Diese werden sich schon in VBA schwer tun und in bei C++ gar nicht mehr durchblicken
- In VBA kann man gleich praktische Fälle bearbeiten, z.B. Zellen in Excel sortieren lassen usw.
Was meinst du denn mit größeren Sachen?
Wenn du richtige Software schreiben willst, kannst du sowieso nicht VBA verwenden, sondern VB oder VB .NET
Das eigentliche Ziel von VBA ist es, dass du Arbeitsschritte in Microsoft Office dir erleichtern kannst oder automatisieren lässt.
Meine Meinung, wer nur Add Ons für M$-Produkte schrieben will ist damit richtig, aber für ganze eigenständige vollwertige Programme würd ich definitiv eher zu was anderen greiffen, vorzugsweise c bzw c++ -
VBA ist gut für Anfänger, Schüler, die es halt lernen MÜSSEN und Lehrer aber für Leute die sich für Programmierung interessieren ist VBA wirklich
sch***
Ich empfehle C++
Beitrag geändert: 15.4.2008 13:13:37 von herrrscher -
herrrscher schrieb:
Ich empfehle C++
Nur dumm, dass du hier nur Spam geschrieben hast...
denn mit C++ kann man ja wohl keine Makros in Office Anwendungen schreiben... -
Ich finde VBA an sich ziemlich gut
Hab schon ein paar Freunde damit verarscht
Aber C/C++ und C# find ich am besten, weil es Professioneller wirkt.
Mfg
Marvin -
imgcity schrieb:
Ich finde VBA an sich ziemlich gut
Hab schon ein paar Freunde damit verarscht
Aber C/C++ und C# find ich am besten, weil es Professioneller wirkt.
Mfg
Marvin
Ganz deiner Meinung, die \"C\" Sachen sind 1. Professioneller und 2. Kann man auch viel mehr damit machn -
imgcity schrieb:
Ich finde VBA an sich ziemlich gut
Hab schon ein paar Freunde damit verarscht
Aber C/C++ und C# find ich am besten, weil es Professioneller wirkt.
Mfg
Marvin
Ganz deiner Meinung, die \"C\" Sachen sind 1. Professioneller und 2. Kann man auch viel mehr damit machn
So ein Quatsch! deine \"C\" Sachen sind aber für ganz was anderes gemacht! VBA ist dazu konzipiert, um \"Probleme\" innerhalb von bestehenden Programmen zu lösen, um benutzerspezifische Makros, Eingabemasken, was auch immer in Excel und anderen Produkten zu realisieren! Was willst du dort mit deinen \"C\" Sachen?? -
Bei VBA (Visual Basic for Application) sagt das ja auch schon der Name aus, dass dort eine enge Bindung an die jeweilige Application vorliegt. Aber nichts desto trotz kann man bei guter oder sehr guter Kenntnis der Materie, dieses auch für ganz andere Dinge verwenden. Glaubt es mir. :)
-
Also meines Meinung nach ist VBA genau so ein Mist wie VBS...
Wenn, dann solltet ihr wenigstens mit VB arbeiten...
Also echt - kaum zu glauben... -
Also meines Meinung nach ist VBA genau so ein Mist wie VBS...
Wenn, dann solltet ihr wenigstens mit VB arbeiten...
Also echt - kaum zu glauben...
Also wenn du deine Aussagen nicht besser belegen kannst, würde ich sagen:
http://www.myvideo.de/watch/134590/Keineahnung
Ich behaupte, dass es einfach sehr stark darauf ankommt, was du machen willst! Wie ich oben bereits gepostet habe, ist VBA dazu gedacht, bestehende Programme flexibler und anpassungsfähiger zu machen. Wenn du z.B. ein Makro in VBA für Excel schreibst, dann hast du das innerhalb von ein paar Minuten erledigt, und das Ding macht genau das was du willst, und wo du es haben willst.
Mit VB müßtest du erst Excel als OLE-Objekt initialisieren, das entsprechende Workbooks- und Worksheets-Objekt bekommen, und dann machen, was du willst. So, jetzt hast du aber eine egenständige ausführbare Datei, die du starten mußt, und die startet dann Excel ... Toll! Bringt so gar nichts! Außerdem ist es über OLE-Automatisierung wesentlich schwieriger, Events zu realisieren etc.
Also: mit dem richtigen Werkzeug ist die Arbeit gleich einfacher! Und für gewisse Aufgaben ist VBA einfach das richtige Werkzeug! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage