Wenn das Inhaltsverzeichnis nicht im linken Bereich angezeigt wird, wählen Sie das kleine Buchsymbol aus, um es zu öffnen, und erweitern Sie die Objektmodellreferenz von dort. Die Beispiele, die Sie online oder in der VBA-Dokumentation finden, sollen Ihnen lediglich den Einstieg erleichtern. The macro that you created should look similar to the following code. Und im obigen Beispiel hast Du sicher einmal geklickt und damit einen Fehler aufgezeichnet. Wenn Sie eine Taste drücken, erkennt das Telefon die Anweisung und schließt die entsprechende Nummer in der Reihenfolge ein, in der Sie wählen. For a computer, making 1000 changes is no different from making 10, so there is an economy of scale here with larger documents and problems, and that is where VBA can really shine and save you time. The first challenge in VBA programming is to get a feeling for the object model of each Office application and to read the object, method, and property syntax. The simple programs in this article execute one line at a time, from the top down. Der Fehler "Kompilierungsfehler: Ausdruck erwartet" ist nicht besonders hilfreich, aber die Zeile, die den Fehler generiert, wird rot angezeigt, um Sie darauf hinzuweisen, dass ein Syntaxfehler in dieser Zeile vorliegt und dass das Programm deshalb nicht ausgeführt wird.The error "Compile error: Expected: expression" is not that helpful, but the line that generates the error turns red to tell you that you have a syntax error in that line and as a result, this program will not run. Entwicklertools anzeigen (Excel) In diesem Tutorial zeige ich Euch wie Ihr in Excel die Entwicklertools anzeigen könnt. They are a conceptual map of the application and its capabilities. Die Objektmodelle sind in allen Office-Anwendungen ähnlich, beziehen sich aber jeweils auf die Dokument- und Objektarten, die verändert werden.The object models are similar in all Office applications, but each is specific to the kind of documents and objects that it manipulates. Wenn du einen solchen Fehler entdeckst, dann schreibe doch bitte einen Kommentar, damit ich das beheben kann. Use Copy and Paste as much as possible when working with code to avoid typing errors. Das Programm sollte jetzt wieder normal ausgeführt werden.The program should run normally again. Sie haben durch eine Kombination aus einer Makroaufzeichnung, dem Lesen der Objektmodelldokumentation und einfacher Programmierung ein funktionierendes VBA-Programm erstellt. If it is a change that you have to do hundreds of times, it certainly is worth considering. Wenn Sie in Eile sind, nutzen Sie am besten herkömmliche Methoden, auch wenn sie Ihnen monoton vorkommen und eine Aneinanderreihung sich ständig wiederholender Schritte bedeuten. In unserem Tutorial „Makros in Excel“ haben wir Ihnen bereits erklärt, wie Sie ohne VBA mit Makros in Tabellenkalkulationen arbeiten. und führen Sie dies erneut aus, um sich von der Leistungsfähigkeit von Schleifen zu überzeugen.and run it again to see the power of looping. In diesem Fall ist der neue Name der Datei ein Parameter für die, Here, the new name for the file is a parameter for the. Office-Anwendungen sind äußerst leistungsstark. Für einen Computer ist es egal, ob er 1000 Änderungen durchführt oder 10. Excel – Makros und VBA, 01.04.09 Seite 16 Makroaufzeichnung starten Wählen Sie das Ribbon Entwicklertools. After that is a term not as familiar, Range, which means "define a range of cells in this way.". Lesen Sie den Code von links nach rechts "In dieser Anwendung, wobei durch ActiveDocument auf Document verwiesen wird, die, Read the code from left to right, "In this Application, with the Document referenced by ActiveDocument, invoke the. Excel 2007 stellt für Entwickler ein eigenes Befehlsregister in der Multifunktionsleiste zur Verfügung. To protect Office users against viruses and dangerous macro code, you cannot save macro code in a standard Office document that uses a standard file extension. Laufzeitfehler sind schwieriger zu finden, weil die Programmiersyntax an sich korrekt aussieht, der Code aber beim Versuch, ihn auszuführen, einen Fehler verursacht. Wählen Sie den Link aus, um eine lange Liste von Objekten anzuzeigen, die Excel in seinem Objektmodell zum Beschreiben der Arbeitsblätter und ihrer Komponenten verwendet. Suchen Sie nach "office entwicklung" oder nach einer Beschreibung Ihres Problems, um auch Foren, Blogbeiträge und Artikel zu finden.You can search on "office development" or a description of your problem to discover forums, blog posts, and articles as well. Gerade für Anfänger ist es daher wichtig, das Problem in möglichst kleine logische Einheiten zu untergliedern und die einzelnen Teile isoliert zu schreiben und zu testen. "Returns a reference to" means "gives you access to.". Dieser Artikel wurde automatisiert vom alten CMS übernommen. Weitere Informationen zu den Sicherheitseinstellungen in einer bestimmten Office-Anwendung erhalten Sie, wenn Sie im Dialogfeld, For more information about the security settings in a particular Office application, open the. Einstieg, Praxis, Profi-Tipps – das Kompendium für die Anwender-Praxis. The macro recorder records every keystroke. Beachten Sie, wie sich der Schaltflächentext in Aufzeichnung beenden ändert.Note how the button text changes to Stop Recording. They can only do what they are designed to do, and they will only do what you instruct them to do. Außerdem werden die Programmiersprache VBA und die sofort einsatzbereiten Tools vorgestellt, mit denen Sie Ihre Lösungen bearbeiten können. Bei meinem Arbeitgeber ist es möglich,…, Es muss nicht immer Microsoft Office sein. By using VBA code, you can instruct the Document object to do things such as Open, Save, or Close. Seit Jahrzehnten in der IT tätig. Anschließend legen Sie den Wert fest und verwenden sie zum Festlegen anderer Variablen oder Eigenschaften. VBA-Programmierung ist eine leistungsstarke Methode, aber nicht immer der optimale Ansatz.VBA programming is a powerful solution, but it is not always the optimal approach. Beende dann die Aufzeichnung. Das Makro ändere ich also so ab und speichere es ab: Jetzt rufe ich es nochmal auf und siehe da, es funktioniert. Häufig wird sie englisch dargestellt und sieht so aus: Apropos Programmiersprache. jeder Teil einer Zeile ignoriert, die bzw. Speichern Sie Arbeitsblätter in OneDrive. Vergessen Sie nicht: Das Erlernen der Programmierung kostet Zeit und Überlegung.Remember that learning programming requires time and thought. Ein Beispiel: Der Benutzer öffnet ein Dokument in Word, nimmt einige Änderungen vor, speichert das Dokument und schließt es.For example, consider the user who opens a document in Word, makes a few changes, saves the document, and then closes it. Time spent browsing the Object Model reference pays off. Wenn Sie kein gutes Beispiel finden, können Sie die Aufgabe in kleinere Komponenten unterteilen und nach diesen suchen. Aber wenn Du Dir die gut merken kannst, warum nicht. Die Anführungszeichen um den Text kennzeichnen einen Zeichenfolgenwert gegenüber einem numerischen Wert. Beenden Sie die Eingabe, und sehen Sie sich die Schaltfläche Aufzeichnung beenden an: Sie ist ausgegraut, weil Excel wartet, bis Sie die Eingabe in der Zelle beenden.Stop typing and look at the Stop Recording button; it is grayed out because Excel is waiting for you to finish typing the value in the cell. For example, have you ever changed the style of the paragraph at the top of each page in Word? This code only works if there is a contact currently open for inspection in Outlook. Neben dem erwähnten Tutorial: VBA in Excel gibt es zahlreiche Quellen im Internet, aus denen Du das nötige Wissen ziehen kannst. Entwicklertools aktivieren, um Excel-Formulare-Elemente nutzen zu können. Ein Beispiel: Der Benutzer öffnet ein Dokument in Word, nimmt einige Änderungen vor, speichert das Dokument und schließt es. Glücklicherweise gibt es im Internet eine Entwicklercommunity, deren Mitglieder sich gegenseitig bei Programmierproblemen helfen.Fortunately, the Internet has fostered a community of developers who help each other solve programming problems. Wähle bei „Befehle auswählen“ „Makros“. Wenn Sie zum Visual Basic-Editor zurückkehren, befindet sich dieser in einem speziellen Debugmodus, in dem die fehlerhafte Codezeile gelb markiert ist. This article explores some of the primary reasons to leverage the power of VBA programming. When you come back to the problem, copy out a small piece of the problem into a new module, solve that piece, get the code working, and test it to ensure that it works. (that is, the word Wow enclosed in single quotes). Und in der nächsten Zeile ist schon der Fehler. Dort findest Du auch die Funktion „Makros aufzeichnen“. Die count-Variable wird immer kleiner statt größer, weil jedes Mal, wenn der Code ein Objekt löscht, das betreffende Objekt aus der Auflistung entfernt wird, wodurch die Anzahl sinkt. Dort stosse ich auf ein häufiges Missverständnis. (Tatsächlich ist die Automatisierung von wiederkehrenden Aufgaben eines der Haupteinsatzgebiete von VBA in Office. VBA ignores any line, or portion of a line, that begins with a single quote. Wenn weiter hinten in diesem Artikel auf diesen Code verwiesen wird, sind diese vier Kommentarzeilen nicht mehr enthalten. Es gibt die verschiedensten Programmiersprachen, um Computerprogramme schreiben zu können. Mit der Zeile „ActiveCell…“ wird in die aktive Zelle der Text geschrieben. Calling one of the object methods causes the object to perform some action. Wenn Sie die Grundlagen der VBA-Syntax und das Objektmodell für die verwendete Office-Anwendung verstanden haben, können Sie systematisch programmieren.After you understand the basics of VBA syntax and the object model for the Office application that you are working with, you advance from guesswork to methodical programming. Achten Sie auf die Ähnlichkeiten und auch die Unterschiede gegenüber dem vorherigen Codeausschnitt zum Auswählen von Text in Zelle A1.Be aware of the similarities to the earlier code snippet that selected text in cell A1, and the differences. Es gibt viele verschiedene Arten, Dokumente, E-Mail-Datenbanken, Formulare, Arbeitsblätter und Präsentationen zu erstellen, zu formatieren und zu bearbeiten.There are many different ways to author, format, and manipulate documents, email, databases, forms, spreadsheets, and presentations. Choose any one of those to see the properties and methods that apply to that particular object, along with cross references to different related options. Der einzige Nachteil ist, dass der generierte Code verwirrend sein kann, da der Makro-Editor einige Annahmen über Ihre Absichten vornehmen muss, und diese sind möglicherweise nicht korrekt. Wenn Sie eine Änderung häufiger als zehn- oder zwanzigmal vornehmen müssen, lohnt sich unter Umständen die Automatisierung mit VBA.If you have a change that you have to make more than ten or twenty times, it may be worth automating it with VBA. Das Filtern der Entwicklerhilfe gilt für alle Office-AnwendungenFigure 5. If you have too much code in front of you and you get confused or muddled, stop and set the problem aside. If a method requires more information, those details are called parameters. In fact, some of the code that you find might have bugs or mistakes. Bei der Programmierung interagieren Sie mit der Anwendung, indem Sie Anweisungen an verschiedene Objekte in der Anwendung senden. Developers organize programming objects in a hierarchy, and that hierarchy is called the object model of the application. Jetzt solltest Du den Reiter „Entwicklertools“ sehen. For example, you could get access to the rows in a table in Word and change their formatting in your VBA script. Office-Add-Ins haben im Vergleich zu VSTO-Add-Ins und -Lösungen einen geringen Platzbedarf. Beispielsweise können Sie Makros nicht in einem normalen Word-Dokument mit der Erweiterung DOCX speichern, sondern müssen ein spezielles Word-Dokument mit Makros (Erweiterung DOCM) verwenden.For example you cannot save macros in a standard Word document with a .docx extension; instead, you must use a special Word Macro-Enabled Document with a .docm extension. If you have a change that you have to make more than ten or twenty times, it may be worth automating it with VBA. Gemäß Standardeinstellung ist die Makroausführung deaktiviert, Sie erhalten aber eine Warnung, dass Makros deaktiviert wurden, und haben die Möglichkeit, die Makros für das jeweilige Dokument zu aktivieren. Es gibt im Wesentlichen zwei Arten von Programmierfehlern: Syntaxfehler, die gegen Grammatikregeln der Programmiersprache verstoßen, und Laufzeitfehler, die zwar syntaktisch korrekt sind, aber beim Ausführen des Codes einen Fehler verursachen.There are two main types of programming errors: syntax errors, which violate the grammatical rules of the programming language, and run-time errors, which look syntactically correct, but fail when VBA attempts to execute the code. Ihnen ist nicht ganz klar, was das bedeutet? That action shows up as a line of code as well. Sie können dazu auch Vorlagen verwenden.Be aware that there are situations in which you might want to automate email in Outlook; you can use templates as well. Can you create a new document with the correct format or template, and then copy the content into that new document? nach einer bestimmten Logik oder Bedingung vorzunehmen.That sounds simple, but it can be incredibly useful; once you can write that code, you can harness all of the power of programming to make those same changes in several tables or documents, or make them according to some logic or condition. That does not mean that free and well-thought-out code is on the Web waiting for you to come along. Um herauszufinden, was passiert, wenn Sie stattdessen einfache Anführungszeichen verwenden, kehren Sie zum Visual Basic-Editor zurück, und ersetzen Sie die Zeichenfolge „Wow!“To find out what happens when you use single quotes instead, return to the Visual Basic Editor and replace the "Wow!" Wenn Sie die nächste Zeile auswählen, reagiert der Visual Basic-Editor.If you choose the next line, the Visual Basic Editor reacts. Die Zelle A1 enthält jetzt den Text Wow!Cell A1 now contains the text Wow! Diese Strategie vermindert zwar lokale Sicherheitsprobleme auf dem eigenen Computer beim Ausführen eigener Makros, macht allerdings eine Bereitstellungsstrategie zur Verteilung des Makros erforderlich. Be aware that this code loops through all of the slides and deletes all text boxes that do not have any text. Stattdessen müssen Sie den Code in einer Datei mit einer Spezialerweiterung speichern.Instead, you must save the code in a file with a special extension. You can perform these tasks and accomplish a great deal more by using Visual Basic for Applications (VBA) for Office—a simple, but powerful programming language that you can use to extend Office applications. Es gibt Situationen, in denen Sie E-Mails in Outlook automatisieren möchten. Dieser Editor ist zwar standardmäßig installiert, vielen Benutzern aber so lange gänzlich unbekannt, bis er auf dem Menüband aktiviert wird. Sie können den VBA-Code während der Ausführung bearbeiten. Eines kann bei einem Objektmodell etwas verwirrend sein, nämlich die Tatsache, dass es mehrere Möglichkeiten gibt, ein Objekt (in diesem Beispiel die Zelle A1) zu adressieren. und ist von einem doppellinigen Rahmen umgeben.and has a double-line border around it. Wählen Sie Makro aufzeichnen aus, und akzeptieren Sie alle Standardeinstellungen im Dialogfeld Makro aufzeichnen, auch Makro1 als Name für das Makro und Diese Arbeitsmappe als Speicherort.Choose Record Macro and accept all of the default settings in the Record Macro dialog box, including Macro1 as the name of the macro and This Workbook as the location. These objects are expansive, but they have their limits. VBA ist äußerst wirkungsvoll und effizient, wenn es darum geht, wiederholt Formatierungs- oder Korrekturprobleme zu lösen.VBA is effective and efficient when it comes to repetitive solutions to formatting or correction problems. Wenn Sie die nächste Zeile auswählen, reagiert der Visual Basic-Editor. Entwickler organisieren Programmierungsobjekte in einer Hierarchie, und diese Hierarchie wird als das Objektmodell der Anwendung bezeichnet.Developers organize programming objects in a hierarchy, and that hierarchy is called the object model of the application. Wenn Sie eine bestimmte Eigenschaft nicht erkennen, stehen Ihnen viele Ressourcen mit Hilfe zur Verfügung. After you understand the basics of VBA syntax and the object model for the Office application that you are working with, you advance from guesswork to methodical programming. In the world of VBA programming, Word exposes a Document object. The most portable option is to use Trusted Publishers, which works with digitally signed documents that you distribute. Danach folgt ein Begriff, der nicht so geläufig ist, und zwar "Range", was so viel bedeutet wie "einen Bereich von Zellen auf diese Weise definieren".After that is a term not as familiar, Range, which means "define a range of cells in this way." Komplett in Farbe. B. den Links im Borders-Objekt folgen, um zu sehen, wie ein Rahmen in VBA festgelegt wird.For example, you can follow the links in the Borders object to see how to set a border in VBA. Was „Neue Arbeitsmappe“ macht, ist dann sicher klar, diese Funktion kommt aber nach meiner Erfahrung selten zum Einsatz. Diese ActiveDocument-Eigenschaft gibt einen Verweis auf das Document-Objekt zurück, das in der Word-Anwendung derzeit aktiv ist.This ActiveDocument property returns a reference to the Document object that is currently active in the Word application. Dipl-Ing. Es gibt einige Excel-Funktionen, die von den meisten Anwendern so gut wie nie gebraucht werden. Mussten Sie jemals die gleiche Änderung in mehreren Outlook-Kontakten vornehmen? Solche Objekte werden als Variablen bezeichnet.These are called variables. Sie können diese Möglichkeiten noch erweitern, wenn Sie einen Vorgang beliebig oft wiederholen können.You can extend those capabilities even further when you can repeat an operation many times. Ist der Haken bei „Entwicklertools“ gesetzt? Der folgende Code führt die SaveAs-Methode aus, die einen neuen Namen für die Datei benötigt.The following code runs the SaveAs method, which requires a new name for the file. Programming requires focus and can be unpredictable. Geben Sie den Code in den Visual Basic-Editor ein, oder fügen Sie ihn ein, und führen Sie ihn dann aus.Type or paste the code into the Visual Basic Editor and then run it. Es gibt sehr, sehr viele Endungen für die verschiedenen Excel-Dateien. Solche Objekte werden als Variablen bezeichnet. Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Bevor Sie ein VBA-Projekt beginnen, prüfen Sie, ob Sie das Problem mit den integrierten Tools und Standardfunktionen lösen können.Before you begin a VBA project, consider the built-in tools and standard functionalities. Sie sind eine konzeptionelle Übersicht über die Anwendung und deren Funktionen.They are a conceptual map of the application and its capabilities. Bereitet es Ihnen Schwierigkeiten, Ihre Kontakte auf effiziente Weise aus Microsoft Outlook in eine Microsoft Excel-Tabelle zu übertragen?Are you having difficulty figuring out how to get your contacts from Microsoft Outlook into a Microsoft Excel spreadsheet efficiently? Changing a property changes some quality of appearance or behavior of the object. You use the same syntax to set a property that you use to read a property. Die äussere Schleife ist für die Zeilen 46 bis 50. Es kann durchaus sein, dass der gefundene Code Fehler enthält. Trotzdem ist es wichtig, sich das, was im Hintergrund passiert, bewusst zu machen. Hierzu hast Du zwei Möglichkeiten. In diesem Code wird Zelle B1 ausgewählt und dann die Zeichenfolge "Hello World" in die so aktivierte Zelle übernommen. Dieser Code kopiert den derzeit geöffneten Kontakt in Outlook in das geöffnete Word-Dokument.Be aware that this code copies the currently open contact in Outlook into the open Word document. In manchen Fällen ist es sinnvoller, andere Methoden einzusetzen, um ans Ziel zu kommen. Zunächst einmal musst Du die Entwicklertools einblenden, falls noch nicht geschehen. Diese Aktion wird auch als Codezeile angezeigt.That action shows up as a line of code as well. Daher sollen die Schüler bereits im Excel gearbeitet haben und das Programm kennen. In diesem Codeausschnitt werden Variablen, Verzweigungen und Schleifen veranschaulicht.This code snippet demonstrates variables, branching and looping. Einige Beispiele: Haben Sie schon einmal das Absatzformat ganz oben auf jeder Seite in Word geändert?For example, have you ever changed the style of the paragraph at the top of each page in Word? Be aware of the similarities to the earlier code snippet that selected text in cell A1, and the differences. Die Entwicklertools müssen aktiviert werden, falls noch nicht getan. Die Codezeilen, die mit einem Apostroph beginnen und im Editor grün dargestellt werden, sind Kommentare, die entweder den Code genauer erklären oder Sie und andere Programmierer an den Zweck des Codes erinnern. Wenn die Makroaufzeichnung den Code generiert, wird ein komplexer Algorithmus verwendet, um die beabsichtigten Methoden und Eigenschaften zu ermitteln.When the macro recorder generates the code, it uses a complex algorithm to determine the methods and the properties that you intended. This section briefly discusses a few more key topics. Wenn Du wissen möchtest wie man ein Makro aufzeichnet und ausführen kann dann solltest Du dieses Tutorial … Beachten Sie, dass Save die einfachste Art von Methode ist; sie erfordert keine ausführlichen Anweisungen von Ihnen.Be aware that Save is the simplest form of method; it does not require any detailed instructions from you. Fortunately, the Internet has fostered a community of developers who help each other solve programming problems. Den VBA-Editor kann man im Menü über die “Entwicklertools” aufrufen. Sie werden folgendermaßen eingeschaltet: Datei – Optionen – Menüband anpassen – Entwicklertools … Alle Programmierer kommen irgendwann trotz der Lektüre sämtlicher Referenzartikel und schlafloser Nächte, in denen sie die verschiedenen Möglichkeiten zur Lösung ihres Problems durchgehen, einfach nicht mehr weiter. Löschen leerer Zeilen in einem Excel-Arbeitsblatt. In den einfachen Beispielen in diesem Artikel haben Sie mit Objekten gearbeitet, die bereits von der Anwendung erstellt worden waren.In the simple examples in this article you manipulated objects that the application had already created. Beispielsweise können Sie Makros nicht in einem normalen Word-Dokument mit der Erweiterung DOCX speichern, sondern müssen ein spezielles Word-Dokument mit Makros (Erweiterung DOCM) verwenden. The only caveat is that the generated code can be confusing because the Macro editor must make some assumptions about your intentions, and those assumptions are not necessarily accurate. „Gibt einen Verweis zurück auf“ bedeutet „gibt Ihnen Zugriff auf“. Dein Rechner gehört in jedem Fall nicht dazu.