Excel 2016 VBA Grundkurs

Variant als Pseudo-Array

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Einige VBA-Funktionen liefern zwar ein Array als Datentyp zurück, Sie wissen aber vorher noch nicht, wie viele Inhalte enthalten sein werden. Dann können Sie den Variant-Datentyp auch als Array einsetzen.

Transkript

Ich möchte Ihnen jetzt ein Array vorstellen, welches gar kein Array ist, oder jedenfalls kein richtiges. Es gibt nämlich Gelegenheiten, wo Sie gar nicht die Chance kriegen, vorher noch in Ruhe ein Array zu deklarieren und zu bestimmen wie viele Elemente kommen oder welche hinzuzufügen, sondern Sie kriegen gebündelt was vor die Füße geworfen, sozusagen. Das geschieht beispielsweise, wenn Sie etwas zerpflücken lassen. Ich werde das hier am Beispiel eines Satzes machen, dessen Wörter ich wissen möchte. Also eine "sub FindeWoerter ()" und die Wörter die ich untersuchen möchte. Ich kann das mal da oben als Modul öffentliche Konstante schreiben, dann sollte ich natürlich auch "const" schreiben. Das ist ein String und die nenne ich einfach mal Satz. Das steht dann was beliebiges drin. Und ich möchte nachher... - da mache ich mal wieder dieses Kommentarzeichen drunter, damit Sie den Unterstrich sehen - Ich möchte nachher diesen Satz zerlegen können, in einzelne Wörter. Und Wörter können Sie, im einfachsten Fall, an den Leerzeichen unterscheiden. Also benutze ich eine Funktion, die das automatisch kann. Der kann ich eine Sammlung von irgendwas übergeben, vor allem von Texten und sagen, nach diesem Zeichen würde ich´s gerne trennen. Und damit die ihren Inhalt los wird, brauche ich einen Variant, kein Array. Ich werde jetzt also ein "dim varWoerter" erfinden... - aber in richtiger Schreibweise - ..."as Variant" und dann kann ich einfach schreiben, "varWoerter" ist gleich und die Funktion heißt "Split". Die zerlegt einen String, nämlich meine Zeichenkette, anhand einer vorgegebenen, anderen Zeichenkette, in diesem Fall der "Delimiter", ein Leerzeichen. Und was zurückkommt, ist ein Array. Das Array lässt sich, wie alle anderen Datentypen aber, in Variant speichern, ohne dass ich mich vorher drum kümmern muss und anschließend kann ich dieses Variant so behandeln, als sei es ein Array. Sie werden überhaupt keinen Unterschied sehen. Ich kann zum Beispiel mal ermitteln, wie viele Wörter es sind. Dazu benutze ich diese "ubound"-Funktion. Also "(var Woerter)" und dann gucken wir mal unten, was es anzeigt. Und damit es ein bisschen schöner aussieht, schreibe ich noch verkettet mit "Wörter" dahinter. Mit F5 sehen Sie, da stecken 5 Wörter drin. Das ist nicht ganz korrekt, wenn Sie zählen: Zwei, Vier, Sechs, müssen wir natürlich, weil das oberste die Position 5 hat, hier immer eins draufzählen. Also es sind tatsächlich immer eins mehr, weil das erste Wort natürlich die Position 0 hat. Und deswegen kann ich jetzt auch einfach das, sagen wir mal, das Wort "wichtigen" herausfischen, das ist: Null, Eins, Zwei, Drei, Vier, das Element mit der Nummer Vier. Also kann ich hier einfach zugreifen und sagen, ich hätte gerne das Wort aus der Position 4. Nach dem Start mit F5 sehen Sie, ist hier "wichtigen" enthalten. Das ist enorm praktisch, diese Split-Funktion ist sehr erleichternd, wenn Sie irgendwelche Zeichenketten zerlegen müssen, selbst wenn das gesuchte Zeichen nur ein einziges Mal drin vorkommt. Ich mache das gelegentlich, wenn ich was gebündelt irgendwo hinschicken muss, als Parameter beispielsweise, dann trenne ich die mit diesem "Pipe"-Zeichen. Das ist dieser senkrechte Strich, der auf der Kleiner-Größer-Taste liegt und dann kann ich sagen, ich hätte gerne alles vor dem Pipe-Zeichen, alles dahinter, indem ich es mit der Split-Funktion einfach verlege und dann das nullte oder das erste Element nehme und das kann man dann beliebig, mit mehreren Teilen machen. Also die Split-Funktion liefert ein Array zurück und ein Array welches sozusagen, ohne Ahnung seiner Details ankommt, können Sie in einem Variant-Datentyp speichern und diesen dann behandeln, als sei es ein Array, sehr praktisch.

Excel 2016 VBA Grundkurs

Lassen Sie sich systematisch in die Excel-Programmierung mit Visual Basic for Applications (VBA) einführen.

7 Std. 25 min (66 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:30.08.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!