Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Excel 2016 VBA für Profis

Ganze Zeile auswerten

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Durch eine Änderung am Range-Objekt lassen sich beim Klick auf die Anzeige nachträglich auch die gewünschten Informationen aus der Tabelle auslesen.

Transkript

Wenn ich den Dialog starte, sehe ich ja die ersten vier Spalten und wenn ich hier auf eine davon klicke, hier zum Beispiel, dann sehe ich schon, welche Zeile in Excel ich auslesen müsste, nämlich mit den Zusatzdaten dahinter. Das möchte ich jetzt fertigstellen, sodass die auch hier angezeigt werden. Fangen wir vielleicht an mit dem Teil der Anzeige. Das finde ich am schönsten, wenn da ein Rahmen drum rum ist. Also wähle ich hier ein "Frame Object". Das ist eigentlich für andere Sachen gedacht, nämlich im Zusammenhang mit Option-Buttons oder diesen Umschaltfeldern, aber ich nehme den auch aus reinen Schönheitsgründen. Sie sehen dann nämlich, da ist nicht nur ein Viereck drum, sondern der Text ist auch eingelagert. Also, so sieht es dann aus. Und das Ding werde ich, wegen Frame für den Rahmen, als "frmDetails" bezeichnen und seine Caption wird dann auch mit "Details" beschriftet. Die ist soweit fertig, von der will ich sonst nichts. Dann brauche ich da drin noch ein "Label". Das lege ich möglichst formatfüllend rein und das wird entsprechend "lblDetails" heißen. Dort stehen die eigentlichen Daten. Aus Gewohnheit ist es dann im BackStyle auch nicht Opaque sondern "Transparent". Das wäre auch nicht wirklich wichtig. Und hier kann ich schon mal vorläufig weitere Details reinschreiben, denn da soll der eigentliche Inhalt hin. Mit dem Klick auf die Adresse will ich also nicht eine MsgBox sehen, sondern ausfüllen; was ich dort habe. Das ist eleganter; wenn wir das in einem String vorbereiten, also "dim strDetails as String" und dann kann ich nämlich jetzt drauf zugreifen, allerdings gibt es gleich eine Überraschung. Ich kann nur auf die ersten vier Spalten zugreifen, denn im Moment ist "rngDetails" nur vierspaltig. Ich muss also jetzt dafür sorgen, dass "rngDetails" im einfachsten Fall auf die komplette Zeile zugreifen kann, die ich mir da jetzt rausgefischt habe. Das gibt es als fertigen Befehl: "EntireRow". Ab jetzt könnte ich also auf alle Spalten dieser Zeile zugreifen. Brauche ich nicht, aber es ist sozusagen, zu viel des Guten. Und jetzt schreibe ich hier rein: "strDetails=strDetails (bisheriger Inhalt, auch wenn die leer sind) & rngDetails.Cells" (die Cells-Auflistung von rngDetails) und jetzt kann ich einfach durchzählen. Die erste Zelle enthält die Zahl, die zweite Zelle den Firmennamen usw. Also, dies ist der Firmenname, dessen ".value" hätte ich gerne und dann soll da auch schon ein "vbCrLf" (Linefeed) dahinter, also ein Zeilenumbruch. Und mit Tab-Taste gehe ich jetzt ein bisschen dahinter und kann schon mal notieren: "Firma". Das ist übrigens der Grund, warum ich das nicht alles hintereinander weg, verkettet mit der nächsten Zeile, verkettet mit der nächsten Zeile, schreibe, dann kann man sich keine Kommentare machen. Und jetzt kann ich das im Grunde ein paarmal untereinander kopieren. Jetzt soll der Vorname kommen, da müsste ich jeweils nachgucken, der Vorname steht in: eins, zwei, drei, vier und dann der Nachname, also vier und drei werden zusammen kommen. Erst die "4", kein Zeilenumbruch sondern ein Leerzeichen dazwischen und dann erst die "3". Das ist der Nachname. Dann kommt die Straße und die Postleitzahl und dann kommt erst der Ort und hier kommt das Land. Da muss ich jetzt einfach nur aufpassen, dass ich die richtigen Nummern erwische, also die Straße, das kann ich jetzt einfach mal behaupten, "5, 6, 7, 8", die sind in der Reihenfolge. Und zwischen PLZ-Zahl und Ort soll auch wieder ein Leerzeichen sein, da kann ich jetzt mit der Tab-Taste, das nach hinten springen lassen. Und jetzt ist zwar der String schon fertig, aber der muss natürlich auch noch in dieses Label rein, also "Me.lblDetails.Caption=strDetails". Das ist schon alles, die MsgBox ist wieder rauskommentiert. Wenn ich das also jetzt mit F5 starte, sehen Sie, im Moment steht hier "Weitere Details". Ich kann einen anklicken. Lassen Sie sich davon nicht irritieren, das ist ein Bildschirm-Darstellungsfehler. Ich klicke jetzt hier rein und dann ist es wieder das. Das passiert im Normalfall nicht. Es liegt hier an der Aufnahme. Also, ich kann anklicken und sehe jeweils die passenden Details. Man könnte sich noch ein bisschen Mühe geben, überflüssige Zeilenumbrüche wegnehmen, wenn da nichts drinsteht, aber das ist, so gesehen, alles Kleinkram Es funktioniert perfekt. Ich kann mir hier einen auswählen und später zum Beispiel mit der "OK"-Schaltfläche einfach auf diesen Inhalt zugreifen und habe dort die gewünschte Adresse komplett.

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:
Software:
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!