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

Excel 2013 VBA für Profis

Mehrspaltige Listenfelder

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Mehrspaltige Listenfelder bieten die Möglichkeit, mehr Inhalte gleichzeitig anzuzeigen oder diese für einen späteren Zugriff vorübergehend auszublenden.

Transkript

Das ist eigentlich schon ein sehr schönes Dialogfeld, welches alles so zeigt, was so ein typisches Dialogfeld eigentlich kann. Mit einer kleinen Ausnahme, nämlich in diesem Listenfeld. Listenfelder können nämlich auch mehrspaltig sein, was hier noch gar nicht ausgenutzt wird, wobei die übrigen Spalten sowohl sichtbar, das werde ich gleich machen, als auch gern unsichtbar Elemente, Texte, Informationen enthalten, auf die man dann beim Klick zurückgreifen kann. Ich möchte im Fall der Tabellen einfach anzeigen, ob die Tabelle sichtbar, unsichtbar ist. Das müssen wir gleich noch ändern. Und im Fall der Zellinhalte möchte ich anzeigen, in welcher Zelladresse ausgelesen wurde. Dafür muss ich mehrere Sachen ändern. Erstens muss diese Liste mehrspaltig, in diesem Fall zweispaltig werden. Und zweitens muss ich in die übrigen Spalten natürlich auch was reinschreiben, also im Code erstmal hier ändern, dass die Anzahl der Spalten, ColumnCount auf 2 geändert wird. Und dann sollten Sie entsprechend, wie das hier schon steht, die ColumnWidths auf mehrere, nämlich in diesem Fall zwei Werte stellen Die werden in Punkt gemessen. Und sinnvollerweise orientieren Sie sich dabei an der Width-Angabe 252 Punkt, die hier entsprechend verteilt wird. Sie sehen die Summe ist darunter. Das ist vor allem sicher, damit es keinen Rollbalken gibt. Es wird sowieso die letzte Spalte immer auf die Restlänge verteilt. Es würde tatsächlich sogar auch reichen, wenn Sie einfach so 200 Punkt schreiben für zwei Spalten, nur die erste Breite nennen. Dann kriegt die zweite Spalte einfach den Rest. So ist es ein bisschen deutlicher, wenn Sie dann auch dazu schreiben, dass Sie wirklich wissen, es gibt zwei Spalten. Und dann müssen Sie, ich mache das mit einem Doppelklick hier, um in den Code zu kommen, nur an der Stelle, wo die entsprechenden Daten geschrieben werden, mehr schreiben. Nämlich im Fall der Tabellen-Namen muss ich eine zweite Zeile hinzufügen, die ließt sich ein bisschen komisch. Das erste ist nämlich eine Methode mit einem Parameter. Und jetzt kommt eine Eigenschaft, und zwar eine, die auch noch falsch deklariert ist: me.lstDetails.column. Die Eigenschafts-Spalte ist plötzlich eine Eigenschaft. Sie müssen sagen, die wievielte, nämlich die mit der Nummer 1. Das ist die zweite, weil 0-basiert. Aber eigentlich sagen die eckigen Klammern hier in dem Quickinfo, dass es optionale Argumente sind. Und das ist definitiv falsch. Sie müssen nicht nur die Spaltennummer sagen, die Spalte Nummer 1 ist also die 2. Spalte, sondern auch die Zeile. pvargIndex ist die Zeilenangabe, und zwar während die geschrieben werden. Das bedeutet, Sie können niemand anderen fragen als me.lstDetails.ListCount und davon -1. Wenn also die 1. Zeile geschrieben wird, steht ListCount auf 1. Die hat aber den Index 0. Deswegen muss ich 1 abziehen. Und da das eine Eigenschaft ist, wird es zugewiesen. Und da können Sie jetzt was Beliebiges reinschreiben, in diesem Fall, ob das wksDieses.Visible ist, wollte ich da reinschreiben. Das ist nur damit wir irgendeine Eigenschaft haben. Und das können wir jetzt nach unten kopieren. Vielleicht kopieren wir das erst, wenn ich es umgebaut habe. Das liest sich nämlich bedeutend schöner, wenn Sie das in der With-Schreibweise machen, also sozusagen überall das, das geht nämlich auch hier, das, was da oben steht, ausklammern. Also With diesem Ding da oben. Und da kann ich jetzt mehr oder weniger runterkopieren. Ich will aber in diesem Fall rngDieseZelle.Value haben, und das verketten mit einem Leerstring. Und für die zweite will ich rngDieseZelle, da gibt es nicht nur ein Address, sondern AddressLocal. Das könnte jetzt alles funktionieren. Ich speichere das schonmal. Und sicherheitshalber können wir auch Kein Kompilierfehler drin. Aber mit Alt+F11 will ich doch dafür sorgen, dass sich auch ein paar von den Tabellen wenigstens ausgeblendet unterscheiden. Und jetzt können wir das Ganze testen. Also einmal reinklicken, F5. Und Sie sehen, sichtbar, unsichtbar. -1 entspricht True, also wahr, also sichtbar. Und diese und diese sind unsichtbar. Und bei den Zellinhalten, die sind jetzt allerdings relativ leer, wird nur die Zelle A1 ausgelesen. Also müssen wir vorher nochmal hingehen und irgendwo was reinschreiben. Zwei völlig beliebige Zahlen. Ich ziehe die jetzt mal ein bisschen runter. Und wenn ich es dann aufrufe mit F5, dann kann ich tatsächlich auch mit Zellinhalten hier die Zelladressen anzeigen lassen. Das ist vor allem als Beispiel, wie sich in diesen Listen noch sehr viel mehr verstecken lässt. Denn ich kann die Spaltenbreite der zweiten Spalte einfach auf 0 setzen. Dann gilt sie als unsichtbar. Ich kann aber zum Beispiel beim Klick auf eine Zeile diese Information wieder auslesen und irgendwo daneben schreiben beispielsweise. Damit ist das Dialogfeld zwar immer noch ein Test, aber komplett. Alles, was man so typischerweise in einem Dialog braucht, steckt hier drin, wenn auch sinnfrei, aber funktionsfähig.

Excel 2013 VBA für Profis

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

4 Std. 59 min (53 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!