{"id":215039,"date":"2026-01-28T01:27:29","date_gmt":"2026-01-28T00:27:29","guid":{"rendered":"https:\/\/liora.io\/de\/excel-vba-wie-kann-man-seine-aufgaben-mit-dieser-sprache-automatisieren-3"},"modified":"2026-02-06T05:40:31","modified_gmt":"2026-02-06T04:40:31","slug":"excel-vba-wie-kann-man-seine-aufgaben-mit-dieser-sprache-automatisieren-3","status":"publish","type":"post","link":"https:\/\/liora.io\/de\/excel-vba-wie-kann-man-seine-aufgaben-mit-dieser-sprache-automatisieren-3","title":{"rendered":"Excel VBA: Wie kann man seine Aufgaben mit dieser Sprache automatisieren?"},"content":{"rendered":"<p><strong>VBA ist eine objektorientierte Programmiersprache. VBA steht f\u00fcr Visual Basic For Applications. Es handelt sich um eine Integration von Visual Basic mit den Microsoft Office-Anwendungen (MS Excel, MS PowerPoint, MS Access, MS Word und MS Outlook).<\/strong><\/p>\nDurch das Ausf\u00fchren von <strong>VBA in Microsoft Office-Anwendungen <\/strong>kannst du wiederkehrende Aufgaben automatisieren. Die Methoden von Excel-VBA und seine Objekte drehen sich um die zu manipulierenden Excel-Objekte wie Zellen oder Bereiche sowie Tabellenzeilen und -spalten.\n\nEin Objekt hat Eigenschaften und Methoden. Eine Eigenschaft erm\u00f6glicht es, dem Objekt einen Wert oder ein Merkmal zuzuweisen.\n\nEine Methode erm\u00f6glicht es, eine Aktion mit dem Objekt durchzuf\u00fchren. Wenn wir uns z. B. ein Objekt vorstellen, das eine Zelle in <strong>VBA Excel<\/strong> bezeichnet, k\u00f6nnte eine seiner Eigenschaften die Schriftart oder die Farbe der Zelle \u00e4ndern, das ist eine Eigenschaft. Eine Methode k\u00f6nnte diese Zelle l\u00f6schen, das ist eine Aktion. Man nennt eine Eigenschaft oder eine Methode eines VBA-Objekts, indem man das Objekt von der Eigenschaft oder der Methode durch einen Punkt im Code trennt: Objekt.Eigenschaft=Wert.\n\nWie du wei\u00dft, zeichnet ein automatisches Makro, das du mit Excel erstellst, deine Aktionen auf, damit du sie mit einem einfachen Klick auf eine Schaltfl\u00e4che reproduzieren kannst. Diese Aktionen werden tats\u00e4chlich in Excel VBA aufgezeichnet. Was wir vorschlagen, ist, triviale Makros zu erstellen, um den so erzeugten Code zu betrachten und zu verstehen.\n\nWir werden die grundlegenden Objekte kennenlernen und die wichtigsten Eigenschaften und Methoden erlernen, um einen optimalen Start zu haben.\n<h3>Aktivierung des Entwickler-Reiters :<\/h3>\nWir beginnen also damit, den Entwickler-Tab zu aktivieren:\n<ul>\n \t<li>Gehe zu Datei<\/li>\n \t<li>Dann auf Option<\/li>\n \t<li>Dann w\u00e4hle Multifunktionsleiste anpassen und du findest die Registerkarte Entwickler, die nicht markiert ist.<\/li>\n \t<li>Aktiviere ihn einfach und klicke auf Ok.<\/li>\n<\/ul>\nJetzt ist der Entwickler-Tab verf\u00fcgbar und auch um die Entwicklerumgebung zu \u00f6ffnen, klicke auf das Visual Basic-Symbol im Entwickler-Tab.\n<h3>Wie erstellt man ein automatisches Makro?<\/h3>\nWir werden ein erstes Makro erstellen. Das Ziel ist es, den erzeugten Code zu sehen. Eine Zelle ist ausgew\u00e4hlt, normalerweise A1 als Standard:\n<ul>\n \t<li>Gehe zum Entwicklermen\u00fcband und klicke dann auf die Schaltfl\u00e4che Makro aufzeichnen,<\/li>\n \t<li>Im Dialogfeld benenne das Makro: test_mef zum Beispiel,<\/li>\n \t<li>Aus der vorgeschlagenen Liste diese Arbeitsmappe behalten, um das Makro zu speichern,<\/li>\n \t<li>Klicke auf Ok, um die Aufzeichnung zu starten.<\/li>\n<\/ul>\nVon diesem Punkt an m\u00fcssen wir die unbedingt notwendigen Aktionen durchf\u00fchren, da Excel uns aufzeichnet.\n<ul>\n \t<li>Klicke auf die Schaltfl\u00e4che G in der Multifunktionsleiste Start, um den Text fett zu machen,<\/li>\n \t<li>W\u00e4hle eine rote F\u00fcllfarbe ebenfalls mit der Multifunktionsleiste Start,<\/li>\n \t<li>Dann stelle eine wei\u00dfe Schriftfarbe ein,<\/li>\n<\/ul>\nWir k\u00f6nnen nun die Aufnahme stoppen.\n\nKlicke auf die Schaltfl\u00e4che Aufnahme stoppen,\n\nBisher existiert das Makro nur als VBA-Code. Wir werden die Schaltfl\u00e4che erstellen.\n<ul>\n \t<li>Klicke auf das Men\u00fc Datei und w\u00e4hle dann Optionen aus der Liste,<\/li>\n \t<li>W\u00e4hle im Dialogfeld die Kategorie Symbolleiste f\u00fcr den Schnellzugriff aus,<\/li>\n \t<li>In der Mitte w\u00e4hle die Kategorie Makros,<\/li>\n \t<li>W\u00e4hle dann das Makro test_mef aus der Liste unten und klicke auf Hinzuf\u00fcgen,<\/li>\n \t<li>Klicke unten auf \u00c4ndern, um ein Bild f\u00fcr die Schaltfl\u00e4che auszuw\u00e4hlen,<\/li>\n \t<li>Klicke zweimal auf Ok, um die beiden Dialogfenster zu best\u00e4tigen,<\/li>\n<\/ul>\nDie Schaltfl\u00e4che erscheint nun in der Schnellzugriffsleiste \u00fcber dem Men\u00fcband.\n\nGib einen Text in eine Zelle ein und best\u00e4tige ihn mit STRG + Enter, um die Zelle aktiv zu halten,\nKlicke auf die neue Schaltfl\u00e4che in der Schnellzugriffsleiste,\n\nWie du siehst, werden die vom Makro definierten Formatierungseigenschaften sofort auf die ausgew\u00e4hlte Zelle angewendet.\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Excel Weiterbildung<\/a><\/div><\/div>\n\n<h3>Wie erstellt man ein Makro \u00fcber den VBA-Code?<\/h3>\nWir werden das Makro schreiben und ihm einen neuen Namen geben. In diesem Stadium wird es \u00e4hnlich wie das vorherige Makro behandelt, wir werden nur einige Werte \u00e4ndern.\n<ul>\n \t<li>Kopiere im Code-Editor das gesamte Makro (von Sub bis End Sub),<\/li>\n \t<li>F\u00fcge es unten auf der Modulseite ein,<\/li>\n \t<li>\u00c4ndere den Namen nach der Sub in: mef_blue,<\/li>\n<\/ul>\nWir haben ein neues Makro mit einem neuen Namen, das aber im Moment genau die gleichen Aktionen wie das vorherige Makro ausf\u00fchrt. Wir m\u00f6chten, dass der neue Code die Zelle zun\u00e4chst blau mit dunkelgrauem Text f\u00e4rbt. Es reicht also, wenn wir uns nur auf die Werte der Komponenten der Funktion RGB() konzentrieren.\n\nIn einem zweiten Schritt m\u00f6chten wir, dass dieses Makro in der Lage ist, einen Rand auf die Auswahl anzuwenden. Ein helles Blau kann mit den Komponenten: 40,180,255 erreicht werden. Ebenso kann ein dunkles Grau mit den Komponenten: 76,76,76 erreicht werden. (Diese Informationen erhalten wir durch das Paint-Werkzeug).\n\n\u00c4ndere die Farbkomponenten der RGB()-Funktionen auf diese Weise im Code dieses neuen Makros,\n\nDer Code-Editor erm\u00f6glicht es uns, sie zu testen:\n\nDu m\u00fcsstest zuerst eine Zelle mit Text auf dem Blatt markieren, dann zum Code-Editor zur\u00fcckkehren und irgendwo zwischen den Prozedurgrenzen des zweiten Makros klicken, um die Einf\u00fcgemarke dort zu platzieren. Auf diese Weise wei\u00df die Software, welchen Code sie ausf\u00fchren muss, wenn sie danach fragt.\n\nSchlie\u00dflich musst du auf die Schaltfl\u00e4che mit dem gr\u00fcnen Pfeil in der Symbolleiste des Code-Editors klicken.\n\nAuf den ersten Blick passiert nichts. In Wirklichkeit geht es sehr schnell.\n\nArbeitsmappenblatt anzeigen,\n\nDu siehst, dass die Zelle, die vorausgew\u00e4hlt war, tats\u00e4chlich zugewiesen wurde. Wir haben soeben ein Makro ausgef\u00fchrt. Wir m\u00f6chten nun einen dicken Rand festlegen. F\u00fcr die Auswahl durch den Code k\u00f6nnten wir daher \u00fcber den <strong>Objekt-Explorer<\/strong> und das Eigenschaftenfenster des Code-Editors gehen. Beide sind \u00fcber das Men\u00fc Ansicht erreichbar. Aber es ist noch einfacher, ein automatisches Makro zu erstellen und den Code abzurufen.\n\nDazu musst du eine Zelle in dem Blatt der Excel-Arbeitsmappe ausw\u00e4hlen.\n\nKlicke dann in der Entwickler-Multifunktionsleiste auf die Schaltfl\u00e4che Makro aufzeichnen und nenne es &#8222;Rand&#8220;. Klicke dann auf Ok, um die Aufzeichnung zu starten.\n\nMit der Schaltfl\u00e4che Rand im Men\u00fcband Start einen dicken \u00e4u\u00dferen Rand festlegen, dann im Men\u00fcband Entwickler auf die Schaltfl\u00e4che Aufzeichnung beenden klicken und schlie\u00dflich im Code-Editor auf Zur\u00fcck klicken.\n\nUnter dem Makro mef_blue() siehst du eine neue Prozedur. Es handelt sich um das Makro bord(), das wir soeben erstellt haben. Sein Code sieht sehr kompliziert aus. In Wirklichkeit handelt es sich um eine systematische Wiederholung derselben Eigenschaften, die auf dieselbe Weise eingestellt werden. Excel behandelt die R\u00e4nder unabh\u00e4ngig voneinander. Zuerst den linken Rand: Selection.Borders(xlEdgeLeft), dann den oberen Rand: Selection.Borders(xlEdgeTop) usw. W\u00e4hrend es gen\u00fcgt, der Eigenschaft Borders des Selection-Objekts keine Parameter anzugeben, damit VBA Excel versteht, dass wir von der \u00e4u\u00dferen Kante sprechen.\n\nMarkiere und kopiere den ersten With-Block und f\u00fcge ihn in das Makro mef_blue() unter der Anweisung Selection.Interior.Color= RGB(40, 180, 255) ein,\n\nEntferne den Parameter in den Klammern der Eigenschaft Borders sowie dessen Klammern,\n\nSo bezeichnen wir den gesamten Rand der Auswahl und nicht nur eine ihrer Seiten.\n<ul>\n \t<li>L\u00f6sche die Zeile .TintAndShade = 0, da sie wie oben beschrieben unn\u00f6tig ist,<\/li>\n \t<li>Ersetze die Zeile .ColorIndex = 0 durch .Color = RGB(76, 76, 76),<\/li>\n<\/ul>\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/unsere-aus-und-weiterbildungen\">Liora Weiterbildung<\/a><\/div><\/div>\n\n\n.ColorIndex = 0 stellt die Randfarbe auf Schwarz ein. Wir ziehen die Eigenschaft .Color vor, die es dir erm\u00f6glicht, mithilfe der Funktion RGB() eine bestimmte Farbe einzustellen. In diesem Fall stellen wir die Farbe des Rahmens auf die gleiche Farbe wie die des Textes ein.\n<ul>\n \t<li>W\u00e4hle eine Zelle auf dem Arbeitsblatt aus,\nKehre zum Code-Editor zur\u00fcck und platziere die Einf\u00fcgemarke innerhalb der Grenzen der Prozedur mef_blue(),<\/li>\n \t<li>Klicke auf den Lesepfeil, um den Code auszuf\u00fchren,<\/li>\n<\/ul>\nDie Zelle erscheint mit den vorherigen Formatierungsattributen und zus\u00e4tzlich mit dem Rand.\n\nZur\u00fcck auf dem Blatt erscheint die Schaltfl\u00e4che neben der vorherigen. Wenn du Zellen markierst und sie anklickst, wird das Makro auf die gleiche Weise ausgef\u00fchrt wie das vorherige. Wir werden nun die vorherige Arbeit bereinigen.\n<ul>\n \t<li>Gehe zur\u00fcck in den Code-Editor,\nMarkiere alle Codezeilen der Prozedur bordure(), von Sub bis End Sub,<\/li>\n \t<li>L\u00f6sche sie, indem du die Entf-Taste auf deiner Tastatur dr\u00fcckst,<\/li>\n<\/ul>\nDa sein Code entfernt wurde, wird das Rand-Makro nicht mehr in der Liste der Makros angeboten, insbesondere bei der Erstellung von Schaltfl\u00e4chen.\n<h3>Die Objekte Range und Cells: Wie werden sie verwendet?<\/h3>\nWas gibt es Besseres als ein automatisches Makro, um das Objekt zu kennen, mit dem man eine bestimmte Zelle bestimmen und manipulieren kann? Denn bis dahin bedeutete das Selection-Objekt, dass wir auf einen vorausgew\u00e4hlten Bereich einwirken. Und wenn wir auf bestimmte Zellen einwirken wollen, die anhand ihrer Koordinaten referenziert werden, wie machen wir das dann? Diese Frage wollen wir beantworten, indem wir ein Makro anweisen, uns aufzuzeichnen, w\u00e4hrend wir eine bestimmte Zelle ausw\u00e4hlen.\n\nAktiviere die Multifunktionsleiste &#8222;Entwickler&#8220; auf dem Blatt der Excel-Arbeitsmappe,\nKlicke auf die Schaltfl\u00e4che Makro aufzeichnen,\nBenenne es z. B. Zellen und klicke auf Ok, um es zu starten,\nW\u00e4hle mit der Maus z. B. die Zelle G10 aus,\nKlicke im Entwicklermen\u00fcband auf die Schaltfl\u00e4che Aufzeichnung beenden,\nDen Code-Editor anzeigen, indem du auf die Schaltfl\u00e4che Visual Basic in der Entwickler-Multifunktionsleiste klickst,\n\nWenn du dein neues Makro nicht im Code-Editor siehst, wurde es in einem neuen Modul geschrieben.\n\nDoppelklicke dann im Projektfenster auf der linken Seite auf den Eintrag Modul2,\n\nDer \u00fcberaus einfache Code des Makros wird angezeigt. Du bemerkst die Verwendung des Range-Objekts, das als Parameter in Anf\u00fchrungszeichen die Zellbez\u00fcge enth\u00e4lt, wie sie in Excel identifiziert werden. Range bezeichnet urspr\u00fcnglich einen Bereich von Zellen, aber wenn nur eine Zelle angegeben ist, wird nur auf diese Zelle gezeigt. In Verbindung mit dem Range-Objekt haben wir die Methode Select. Wir erinnern uns: Eine Methode f\u00fchrt eine Aktion aus und weist keiner Eigenschaft einen Wert zu. Hier ist die Aktion also das Ausw\u00e4hlen der Zelle oder des Bereichs, die\/der angegeben wurde.\n\nDas Range-Objekt hat also einige einfach zu entdeckende Eigenschaften und Methoden, mit denen du Zellen anpassen und parametrisieren kannst.\n\nGib im Editor unter der ersten Codezeile Range(&#8218;G10&#8216;) ein,\n\nWenn du den Punkt (.) hinter dem Range-Objekt eingibst, rufst du eine Eigenschaft oder eine Methode des Objekts auf. Deshalb wird bei der Eingabe eine kleine Dropdown-Liste angezeigt. Sie bietet dir alle Methoden des Objekts (mit einem gr\u00fcnen Symbol davor) und alle seine Eigenschaften (mit einem grauen Symbol davor). Wenn du z. B. die ersten Buchstaben der Eigenschaft eingibst, zeigt dir die Liste alle Eigenschaften an, die mit diesem Buchstaben beginnen.\n\nTippe auf diese Weise die Eigenschaft Font ein oder w\u00e4hle sie aus und tippe dann einen neuen Punkt (.) ein,\n\nDamit rufst du die Eigenschaften auf, die von der Eigenschaft Font abgeleitet sind.\n\nTippe oder w\u00e4hle die Eigenschaft Size f\u00fcr die Schriftgr\u00f6\u00dfe,\nSetze den Wert auf 12 (=12),\n\nWie bereits erw\u00e4hnt, dient das Range-Objekt zun\u00e4chst dazu, einen Bereich von Zellen zu bezeichnen. Wie bei den Excel-Funktionen musst du nur die Referenzen, getrennt durch das Doppelpunktsymbol (:), f\u00fcr einen Bereich von zusammenh\u00e4ngenden Zellen angeben.\n\nSchlie\u00dflich gibt es noch das Cells-Objekt, mit dem du eine Zelle anhand ihrer Zeilen- und Spaltennummer bezeichnen kannst. Dieses Objekt erwartet zwei Parameter, die Nummer der Zeile und die Nummer der Spalte. F\u00fcr die Zelle C10 \u00fcbergeben wir ihm also die Werte 10 f\u00fcr die Zeile und 3 f\u00fcr die Spalte. Da dieses Objekt Zellen manipuliert, hat es die gleichen Eigenschaften und Methoden wie die Objekte Select und Range.\n\nWir hoffen, dass dir dieser Artikel gefallen hat. Abonniere unseren Newsletter, um immer auf dem Laufenden \u00fcber Tech-, Daten- und KI-Nachrichten zu bleiben.\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\"><div class=\"wp-block-button \"><a class=\"wp-block-button__link wp-element-button \" href=\"https:\/\/liora.io\/de\/blog-de#formnewsletter\">Newsletter Anmeldung<\/a><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p><strong>VBA ist eine objektorientierte Programmiersprache. VBA steht f\u00fcr Visual Basic For Applications. Es handelt sich um eine Integration von Visual Basic mit den Microsoft Office-Anwendungen (MS Excel, MS PowerPoint, MS Access, MS Word und MS Outlook).<\/strong><\/p>\n","protected":false},"author":78,"featured_media":175506,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2476],"class_list":["post-215039","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-dev"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/215039","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/comments?post=215039"}],"version-history":[{"count":1,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/215039\/revisions"}],"predecessor-version":[{"id":216707,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/posts\/215039\/revisions\/216707"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media\/175506"}],"wp:attachment":[{"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/media?parent=215039"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/de\/wp-json\/wp\/v2\/categories?post=215039"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}