Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Excel 2016 VBA für Profis

In die Zwischenablage kopieren

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Dank des passenden Steuerelements lassen sich die Daten mit einem einzigen Befehl mühelos in die Zwischenablage kopieren.

Transkript

Jetzt sieht der Dialog schön aus, aber er tut nix. Jetzt muss mal ein bisschen Butter bei die Fische, und ich werde mal anfangen mit der Zwischenablage. Die ist das Einfachste, weil es da fertige Methoden gibt, nur leider nicht mit Objekten aus diesem Dialog. Aber das macht nichts, also das "OK" soll mehr bieten als nur ein "Fehlt noch". Ich werde in dem "OK" den Code ändern, das heißt, das kann schon mal rausfallen, und muss erstmal prüfen, welchen von den Fällen ich eigentlich habe. Das riecht ganz deutlich nach "select case", und zwar frage ich die Liste "Ziele", "me.lstZiele" und deren "Value", auch deswegen liegt meine Kennziffer in der ersten Spalte und ist da versteckt, weil der "Value", diese erste Spalte zurückgibt, nie vergessen ein "end select", und dazwischen kann ich jetzt prüfen, diese Ziele könnten z. B. der "case", ich schreib nochmal das "enm" davor, "typZwischenablage" sein. Das ist übrigens eine Integer-Nummer, also anständigerweise sollte man hier auch einen Value zum Umwandeln benutzen. Es ist ein bisschen kürzer, wenn wir es so schreiben. Und ich mache schon mal ein bisschen Abstand. Also der nächste Typ ist "DateiOffen". Deren Reihenfolge ist übrigens egal, also "typDateiGeschlossen". Ich mache sie einfach in der gleichen Reihenfolge, wie sie auch in der Liste auftauchen, Und immer dran denken, ein "case else" hinterher, da schreibe ich jetzt einfach eine "msgbox", da steht dann sowas drin wie "Fehler im SelectCase von btnoK_Click!" Und dann können wir noch ein "vbCritical" machen, und auch dazu melden, wer es denn bemerkt hat, nämlich diese Applikation. So weit erstmal das Gerüst, das heißt, in dem "OK" prüfe ich, welches Ziel denn eigentlich geplant ist. Ich fange mit der Zwischenablage an, weil die am einfachsten ist, allerdings noch eine Vorbereitung braucht, denn das Kopieren in die Zwischenablage können nur Textboxen, nicht Labels. Ich brauche also hier eine Textbox, oder ein Textfeld, die lege ich erstmal völlig beliebig irgendwo hin, die ist an Hässlichkeit kaum zu überbieten, aber sie kriegt einen vernünftigen Namen, und wird dann versteckt, also "edt", ich nenne die einfach mal ganz kurz "copy", die ist zum Kopieren nötig, da können wir gerne einen roten Hintergrund machen, damit ich direkt sehe, sowas hässliches kann gar nicht so quer auf diesem Formular stehen, und das Wichtigste ist dann "Visible" von "True" auf "False", das heißt, sie wird nicht dargestellt. Diese Textbox bietet die Möglichkeit zu Kopieren. Ich kann jetzt drauf zugreifen, aber nicht im Userform "Initialize", sondern hier im "btnOK_Click!". Ich mache da mal ein klein bißchen Abstand zwischen, und hier kann ich mich jetzt mit dieser Textbox beschäftigen, die braucht mehrere Befehle, also daher werde ich die in eine "with"-Struktur packen. Zuerst sorge ich dafür, dass sie den Inhalt aus dem Label übernimmt, also mein "Value" ist deine "Caption", nämlich von "me.lbl.Details.Caption". Da hatte ich ja schon ganz am Anfang, wenn ich oben auf die Liste klicke, die komplette Adresse reingeschrieben, und die kopiere ich jetzt nur unten in dieses Edit-Feld. Wenn ich das jetzt kopieren würde, wäre das leer. Das ist etwas frustrierend, da muss man nämlich vorher noch die "Selection" machen, also so, als ob ich das mit der Maus oder zu Fuß markieren würde, ".SelStart = 0", und bis zum Ende markieren, das heißt, die "SelLength" muss so viel sein, wie da Text drin ist, das kennen Sie, dafür gibt's diese "len"-Funktion, also ".Value", mein Value in voller Länge markiert. Diese beiden Befehle hier machen nichts anderes, als den Inhalt einfach komplett zu markieren. Und dann kann ich mit "Copy" das eigentliche Kopieren auslösen. Diese vier, oder sechs, wie immer Sie es zählen wollen, Zeilen, sind unschlagbar kurz, um was in die Zwischenablage zu kopieren. Wir können ja mal probieren, ob es klappt, also gespeichert ist schon, "Debuggen" "Kompilieren" mit F5, ich markiere irgendeine Adresse, die Zwischenablage ist schon angeklickt, und nach dem "OK" sehen Sie nichts. Aber es ist was passiert, wenn ich jetzt hier nämlich einen Texteditor hole, und dort mit "Bearbeiten" einfüge, das aus der Zwischenablage abhole, sehen Sie, hat wunderbar geklappt. Es wäre aber schön, wenn man jetzt auch noch Bescheid kriegt, deswegen werde ich jetzt hier ergänzen, danach kommt noch eine Messagebox, die sowas sagt wie "Adresse wurde in die Zwischenablage kopiert", und das kriegt ein "vbInformation", und wieder die Notiz, wer's denn gemacht hat. Damit fühlt es sich ein bisschen besser an, der Benutzer weiss jetzt, was er als Nächstes tun soll, nochmal mit F5 testen, eine beliebige andere Adresse, den hatten wir gerade, nehmen wir "Meer & mehr", Zwischenablage, und nach dem "OK" kommt die Meldung, und dann nehme ich wieder den Texteditor, und kopiere die Zwischenablage rein, und Sie sehen, das funktioniert ebenfalls. Es ist also relativ wenig Aufwand, weil die Textbox bereits die Fähigkeit mitbringt, die Daten in die Zwischenablage zu kopieren, am lästigsten ist eigentlich nur, dass auf den Weg von dem Label zu der Textbox das noch markiert werden muss.

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!