Excel 2016 VBA für Profis

Teil-Zeichenketten ermitteln

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Aus einer beliebigen Zeichenkette müssen gelegentlich Teile herausgeschnitten werden, um sie einzeln zu betrachten. Diese drei Funktionen ermöglichen es, von links, von rechts oder aus der Mitte heraus Textstücke zu extrahieren.

Transkript

Die Textfunktionen, die ich Ihnen jetzt zeigen möchte, sind eigentlich so die am häufigsten benutzten. Es geht darum Teilzeichenketten zu ermitteln, also Stückchen aus dem Text herauszuoperieren. Nehmen wir- - ich schieb die mal hier ein bisschen nach vorne - Nehmen wir einfach mal den Versuch aus diesen zwei Wörtern das erste zu ermitteln. Also, "Sub DasErsteWort". Und das schreib ich wieder unten mit "Debug.Print" rein. Da kann ich einfach die "Left"-Funktion, von links eine Teilzeichenkette ermitteln und zwar wieder von dieser Konstanten. Und der zweite Parameter sagt, wie viele Zeichen ich gerne hätte. Mein Vorname ist sechs Zeichen lang, also eine "6", Klammer zu und fertig. Und dann nach dem Speichern, Kompiliercheck sehen Sie mit F5, dass da unten nur der Vorname Lorenz ermittelt wird. Das funktioniert genauso für "DasLetzteWort", also "Sub DasLetzteWort", das könnte ich fast kopieren, "Debug.Print". Aber dieses mal heißt die Funktion erwartungsgemäß "Right". Bezieht sich auf die gleiche Konstante und mein Nachname ist acht Zeichen lang, und Klammer zu. Auch damit, wenn ich reingeklickt habe und Kompiliercheck gemacht habe mit F5 sehen Sie: Nur der Nachname. Das würde man im wirklichen Leben so nicht machen, Sie werden feststellen, dass die "Right"-Funktion sehr selten benutzt wird, weil die von rechts rechnet. Typischerweise kann man Zeichenketten besser von links untersuchen, aber dann haben wir sie der Vollständigkeit halber drin. Ich kann auch mitten aus einer Zeichenkette was herausholen. Also, nennen wir das mal beispielsweise "Öl emitteln". Ich will dieses Öl hier herausholen. "Sub OelErmitteln" Natürlich hier keine Umlaute. Nur in Zeichenketten selber, aber nie in Benennungen. Und dafür brauch ich nach dem "Debug.Print" die dritte Funktion, die heißt "Mid()". Eine Teilzeichenkette aus der Mitte herausholen, und deswegen hat sie drei Parameter. Nämlich erstens: Was soll ich untersuchen? Unsere ewige Konstante. Zweitens: Ab welcher Position? Vorname sind sechs, Leerzeichen sieben, H ist der achte Buchstabe, also ab dem neunten Buchstaben will ich was. Wenn ich den dritten Parameter weglasse, dann würde ich jetzt bis zum Rest alles bekommen. Also, wir können das erstmal so probieren mit F5. Sehen Sie: Der Rest. Das ist sehr praktisch, wenn man vorne was abschneiden will. Aber ich will gezielt nur ab der neunten Position zwei Zeichen haben. Also, diesen Parameter setzen und jetzt kann ich mit F5 hier nur das "Öl" herausholen. Wenn Sie- - Das ist bei dieser kurzen Zeichenkette vielleicht etwas übertrieben - Wenn Sie das gefundene Wort dann anschließend wieder in richtige deutsche Groß-/Kleinschreibung umwandeln wollen, dann könnte man zum Beispiel eine Function machen, die sowas wie "AnfangGross" heißt und "strInhalt As String" übergeben bekommt, und "As String" auch einen Datentyp String zurückgibt. Und dann kann ich- Ich mach das trotz allem, auch wenn das nicht nötig ist, immer gerne mit einer zweiten Funktion, die nenne ich ganz lieblos "Dim strX As String", also "strX" ist eigentlich gleich dem Inhalt, aber ich kann den schon jetzt zerlegen und sagen: Ich hätte gerne ein Uppercase von dem was ich hier raushole, nämlich "Left (strInhalt,1)". Das erste Zeichen hätte ich gerne in Großbuchstaben. Und dann verkettet mit einem "Lowercase", allem übrigen, nämlich die "Mid"-Funktion, wieder von "strInhalt". Und aber ab dem zweiten Zeichen und egal wie lange. Deswegen fällt der letzte Parameter weg, und das ganze als "Lowercase"- Und dann muss ich es wieder zuweisen, da das ja wirklich extrem kurz ist, können wir das doch mal in kürzer machen, also "AnfangGross" kann ich auch direkt hier zuweisen. Wenn da ein bisschen mehr zu rechnen ist, habe ich gerne kurze Variablen. Aber das ist hier nun wirklich praktischer und nach dem Speichern und "Debuggen" "Kompilieren", kann ich jetzt hierfür, drumrum diese "AnfangGroß" Funktion setzen, die mir anschließend mit F5 das "Öl" in Großschreibweise, in der üblichen deutschen Schreibweise liefert. Sie können das auch gerne mit einem längeren Wort testen, also hier "?", das entspricht sozusagen dem "Debug.Print" hier unten. Und dann schreibe ich da irgendwas beliebiges. Klammer zu, nach dem Return sehen Sie, der erste Buchstabe ist groß. Also, das ist eigentlich typischer, dass man sowas kombiniert, mit "Left" und "Mid" . Und auch das ist sehr typisch hier, das die "Mid"-Funktion dazu dient, aus einer Zeichenkette am Anfang oder am Ende, je nachdem, was wegzuschmeißen. Und das wird häufig benutzt, wenn ich zum Beispiel die Dateiendung ermitteln will, dann habe ich wieder meine "Sub DateiEndungErmitteln", dafür brauche ich aber noch eine zweite Konstante. Also "const m_cstrDateiname". Und da mache ich mal wirklich nicht alles falsch, aber doch sagen wir alles extrem unpraktisch. Einen Dateinamen wie diesen würde ich nie nutzen. "Protokoll vom 24.12.2016.xslx". Die ist extrem weit verbreitet diese Art, aber es ist schon lästig, wenn auch zulässig, es sind mehrere Punkte drin und er ist sehr lang und die Endung hat vier Zeichen. Da können Sie nichts dran drehen, das gibt ja Excel vor, aber das gibt mir hier die Chance einfach mit "Debug.Print" und dem "Right-Befehl" Klammer auf, aus dem Dateinamen die letzten vier Zeichen rauszuschneiden, und bei Bedarf dann zu vergleichen. Erstmal gucken ob es klappt, mit F5. Da steht korrekt: "xlsx". Das ist verführerisch, sollten Sie so nicht machen, da werden Sie bei Gelegenheit noch eine andere Funktion kennenlernen, denn es haben gar nicht alle Dateien vier Zeichen am Ende. Die alten Excel-Dateien, da steht dann nur "xls" oder "xlm" oder sowas, und Access zum Beispiel hat fünf, "accdb" als Dateiendung. Da müssen Sie also bei Gelegenheit erstmal prüfen, wie lange die Endung ist, und das gilt hier genauso: Wenn Sie vorher wissen, dass der Vorname sechs Zeichen hat, dann kennen Sie ihn schon praktisch. Das wird also gelegentlich ersetzt werden, durch eine andere Funktion. Aber hier ging es ja erstmal darum, diese drei: "Left", "Right" und "Mid" kennenzulernen, die meistens in irgendwelchen gemeinsamen Funktionen auftauchen.

Excel 2016 VBA für Profis

Nutzen Sie die Möglichkeiten der Programmiersprache VBA in Excel 2016, um eigene Dialoge zu erstellen, auf andere Arbeitsmappen zuzugreifen und wichtige Funktionen einzusetzen.

5 Std. 52 min (55 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.01.2017

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!