Excel: Add-In mit Ribbon-Button erstellen

Wir können Excel nicht nur um benutzerdefinierte Funktionen erweitern, die wir in eine Add-In-Datei schreiben und die dann überall als Formel verfügbar sind. Wir können auch Funktionen hinzufügen, mit denen wir die Anwendung um selbst programmierte Abläufe erweitern. In diesem Artikel zeigen wir, wie Du einem Excel-Add-In ein eigenes Ribbontab hinzufügst sowie eine Funktion, die durch einen Button auf diesem Ribbontab ausgelöst wird.

Weiterlesen

Mit JSON arbeiten

JSON heißt JavaScript Object Notation und ist ein Format ähnlich wie XML, mit dem Daten strukturiert gespeichert werden können. Als Visual Basic-Entwickler hat man üblicherweise nicht viele Berührungspunkte mit dieser Notation. Wenn man jedoch gelegentlich mit Webservices beziehungsweise Rest APIs arbeitet, findest der Datenaustausch entweder mit XML oder JSON statt. Während es für den Zugriff auf den Inhalt von XML-Dokumenten die Microsoft XML, vX.0-Bibliothek gibt, ist man bei JSON auf Lösungen von Drittherstellern angewiesen. In diesem Fall nutzen wir eine Bibliothek von Tim Hall und eine Erweiterung im Eigenbau, mit der wir relativ einfach auf die Daten in JSON-Dokumenten zugreifen können.

Weiterlesen

Excel: Benutzerdefinierte Funktionen per Add-In

Benutzerdefinierte VBA-Funktionen lassen sich leicht zu einem Excel-Workbook hinzufügen. Sie sind dann aber normalerweise nur in dem entsprechenden Workbook verfügbar. Was aber, wenn Du richtig coole Funktionen entwickelt hast, die Du nicht nur in einem Workbook nutzen möchtest, sondern in verschiedenen Dateien – und Du hast keine Lust, den VBA-Code immer wieder in das VBA-Projekt neuer Workbooks zu kopieren? In diesem Fall gibt es gute Nachrichten: Excel bietet nämlich den Dateityp Excel-Add-In an, dem Du Funktionen hinzufügen kannst, die immer verfügbar sind, wenn Excel geöffnet ist.

Weiterlesen

Excel: Mit markierten Arbeitsblättern arbeiten

Unter Excel zeigt man in der Regel nur ein einziges Arbeitsblatt an. Allerdings lassen sich, und das wissen nur wenige Benutzer, auch mehrere Arbeitsblätter gleichzeitig markieren. Der Clou: Aktionen, die dann im aktuell angezeigten Arbeitsblatt durchgeführt werden, wirken sich auch auf alle anderen markierten Arbeitsblätter aus. Dies ist Grund genug, dass wir uns ansehen, wie wir die aktuell markierten Arbeitsblätter auslesen können oder wie wir sogar per VBA einige oder alle Arbeitsblätter markieren können.

Weiterlesen

DHL-Paketlabel per VBA erstellen

Beim Versand von Paketen kommt recht oft DHL zum Einsatz. Die einfachste Form der computergestützten Erstellung von Paketlabeln ist dabei das Anmelden bei DHL und das Erstellen eines Labels durch Eingabe der Adressdaten und Bezahlung auf der Webseite. Etwas mehr Möglichkeiten bietet ein Geschäftskundenkonto beim Anbieter DHL. Hier können wir einen Schritt weitergehen und die Adressdaten beispielsweise per CSV übermitteln. Noch schöner wäre es, wenn wir von der jeweiligen Anwendung aus – ob es sich nun um eine Access-Datenbank, eine Excel-Tabelle oder sogar Outlook handelt – direkt per Mausklick ein Paketlabel zur Sendung eines Pakets an den jeweiligen Kontakt erstellen könnten, dass dann beispielsweise als PDF auf unserem Rechner landet. Wie das gelingt, zeigen wir im vorliegenden Artikel.

Weiterlesen

Excel: Sheet-Navigation per Button

Wenn man ein Excel-Workbook mit vielen verschiedenen Worksheets verwendet, möchte man beim Öffnen des Workbooks vielleicht eine Übersichtsseite präsentiert bekommen, von der aus man per Mausklick auf entsprechende Schaltflächen zu den übrigen Worksheets gelangt – und am besten von dort aus mit einer weiteren Schaltfläche wieder zurück zur Übersicht. In diesem Artikel zeigen wir, wie das gelingt, und warum wir noch nicht mal eine einzige Zeile VBA-Code für dieses Vorhaben benötigen.

Weiterlesen

Einfache Excel-Formulare erstellen

Excel kann nicht nur einfach Daten in Tabellenform anzeigen. Es bietet auch verschiedene Möglichkeiten, um Daten auszuwerten, beispielsweise in Diagrammen, oder auch Möglichkeiten zur komfortableren Eingabe von Daten. Wer zum Beispiel sonst mit Access arbeitet, dass man dem Benutzer dort üblicherweise Formulare zur Verfügung stellt, um die Daten einzugeben, zu betrachten und zu verwalten. Warum also sollte man den Anwender in Excel mit riesigen “Tapeten” von Daten quälen, statt im jeweils den Inhalt einer Zeile der Tabelle zum Betrachten und zum Bearbeiten anzubieten? Dieser Artikel zeigt eine sehr einfache Möglichkeit, um dem Benutzer ein ergonomischeres Erlebnis zu bieten.

Weiterlesen

Excel: Zellen und Bereiche per VBA

Im Artikel “Excel: Workbooks und Worksheets per VBA” haben wir uns angesehen, wie wir Arbeitsmappen und Arbeitsblätter mit VBA nutzen können. Im vorliegenden Artikel gehen wir einen Schritt weiter und nehmen uns die offensichtlichen Elemente eines Arbeitsblatts vor – die Zellen. Nicht weniger spannend sind allerdings die Bereiche, unter VBA “Range” genannt. Wie wir diese referenzieren, auslesen und bearbeiten können, zeigen wir auf den folgenden Seiten.

Weiterlesen

Excel: Workbooks und Worksheets per VBA

Excel bietet eine ganze Reihe hierarchisch angeordneter Elemente, die wir uns in diesem Artikel ansehen. Dabei schauen wir uns auch gleich an, wir wir diese per VBA referenzieren können. Wir beginnen ganz oben in der Hierarchie mit der Excel-Anwendung und arbeiten uns dann über die verschiedenen Elemente bis hin zur einzelnen Zelle mit ihren Eigenschaften. Nach der Lektüre dieses Artikels kannst Du alle wichtigen Elemente eines Excel-Workbooks referenzieren, diese in Schleifen durchlaufen und je nach Objekttyp neue Elemente hinzufügen, bearbeiten oder entfernen können. Außerdem lernst Du noch einige Grundlagen des VBA-Editors kennen.

Weiterlesen

Umfangreiche Texte in Code integrieren

Es gibt Aufgaben, um die schlägt man sich nicht. Eine davon ist es, größere Texte hart im VBA-Code zu verdrahten, sodass diese später weiterverarbeitet werden kann. Ein Beispiel ist das Zusammenstellen eines XML-Dokuments, von dem man eine Vorlage hat, und das man mit eigenen Werten füllen möchte, um es dann beispielsweise als Anfrage an einen Webservice zu schicken. Oder man möchte den Inhalt einer Mail per VBA an Outlook schicken und versenden, nachdem man den Mailtext noch um individuelle Inhalte wie Anrede oder Name des Empfängers ergänzt hat. Sprich: Uns liegt ein mehrzeiliger Text vor, den wir irgendwie in eine Variable packen wollen – und zwar ausschließlich per VBA-Code. Wie das gelingt, zeigt der vorliegende Artikel.

Weiterlesen