Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bereich als Liste in Userform ausgeben

Bereich als Liste in Userform ausgeben
30.10.2006 23:02:50
Erdogan
Hallo zusammen,
ich habe folgenden Wunsch: ein Worksheet beinhaltet eine Liste, die mit dem Autofilter Daten filtert. Diese Filterung wird über eine Userform gestartet. Mein Makro sieht so aus, dass die Filterung beginnt und sich vorher die Userform schließt. Danz toll wäre es jetzt, wenn sich die Userform nicht schließen würde, sondern der gefilterte Bereich des Worksheets sich in die Userform integrieren lassen würde.
Wie es gut wäre habe ich als Bild gebastelt (habe mit Paint die Trennlinien reingemalt!):
Userbild
Vielen Dank im Voraus.
Erdogan
PS: Feedback ist selbstverständlich

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich als Liste in Userform ausgeben
30.10.2006 23:43:41
Daniel Eisert
Hallo
das wird schwierig.
Man kann sich zwar eine mehrspaltige Listbox erstellen (Eigenschaft ColumnCount) und sich in dieser einen Zellbereich anzeigen lassen, aber es ist doch sehr rudimentär, ohne Formatierungen, Linien, und mit einheitlichen Spaltenbreiten.
Da du nur die sichtbaren Zellen in deiner Listbox haben willst, müsstest du nach jedem Filtern die Listbox mit LISTBOX1.CLEAR löschen und dann in einer geschachtelten Schleifen mit LISTBOX.ADDITEM die Zellwerte pro sichtbare Reihe und Spalte zuweisen.
also prizipiell machbar, aber je nach kenntniststand etwas aufwendig.
Vielleicht reicht es ja auch, wenn du die Userform ungebunden öffnest, dann kann der User die gefilterten Daten direkt in der Tabelle anschauen, ohne die Userform zu schließen.
(geht mit "userform1.show(o)"
Gruß, Daniel
Gruß,Daniel
Anzeige
AW: Bereich als Liste in Userform ausgeben
30.10.2006 23:53:54
{Boris}
Hi Daniel,
...und dann in einer geschachtelten Schleifen mit LISTBOX.ADDITEM die Zellwerte pro sichtbare Reihe und Spalte zuweisen...
Hier sollten doch aber auch die SpecialCells mal ihre Berechtigung haben - speziell die xlCellTypeVisible. Die könnte man doch als Bereich in eine Variant-Variable einlesen und diese wiederum an die List-Eigenschaft der Box übergeben. Dann braucht man keine zig Schleifendurchläufe.
Ungetestet - nur so eine Überlegung. Wobei die Sache mit der suboptimalen Formatierung sicherlich bleibt.
Grüße Boris
AW: Bereich als Liste in Userform ausgeben
31.10.2006 00:03:41
Daniel Eisert
Hallo
kommt die Variant-Variable denn mit unterbrochenen Zellbereichen zurecht?
Wenn ja, wärs natürlich der Schnellere Weg.
Alternativ könnte man auch den gefilterten Zellbereich in ein anderes Sheet kopieren, und dann in diesem Sheet den Zellbereich der Listbox mit Rowsource zuweisen.
Da braucht man dann auch keine Schleife.
Gruß, Daniel
Anzeige
In die Tonne mit meiner Idee...
31.10.2006 00:11:52
{Boris}
Hi Daniel,
...denn das scheint nicht zu gehen. Die Variante mit dem separaten Blatt und Nutzung der RowSource-Eigenschaft dürfte aber auch extrem flott sein.
Grüße Boris
AW: Bereich als Liste in Userform ausgeben
31.10.2006 00:36:10
Erdogan
Hallo zusammen,
erst einmal vielen Dank dafür, dass man sich mit der Frage beschäftigt. Ich muss zugeben, dass ich aus den bisherigen Antworten noch nicht schlau geworden bin. Ich warte noch etwas, vielleicht findet ihr ja einen gemeinsamen Nenner, denn ich versuchen könnte, umzusetzen.
Viele Grüße
Erdogan
AW: Bereich als Liste in Userform ausgeben
31.10.2006 00:45:44
Daniel Eisert
Hallo
ich denke einen gangbaren Weg haben wir gefunden.
jetzt ist die Frage: wie fit bist du in VBA (ne userform hast du ja schon mal hinbekommen)?
Gibt es überhaupt schon einen Code der funktioniert (das Filtern zumindest)?
Reichen dir Tips oder brauchst du konkrete Programmbeispiele?
Falls das 2. zutrifft, solltest du eine Beispieldatei die sich möglichst nah an deinen Echt-Daten orientiert ins Netz stellen, das erleichtert die Sache ungemein und du kannst den Code ggf. direkt ohne Änderungen hier übernehmen.
Je mehr Infos, um so besser.
Gruß, Daniel
Anzeige
AW: Bereich als Liste in Userform ausgeben
31.10.2006 01:16:38
Erdogan
Hallo Daniel,
ich danke für die Antwort. Ich habe eine Datei, die ich hochladen würde, aber sie hat betriebsinterne Informationen inne, die ich erst umschreiben muss, bevor ich sie veröffentlichen kann. Ich bastele sie um oder erzeuge etwas ähnliches und schicke es gleich hoch.
AW: Bereich als Liste in Userform ausgeben
31.10.2006 01:32:05
Erdogan
Hallo Daniel,
ich schicke ein Beispiel hoch. Ich habe mein Original nicht dazu verwendet, weil ich Angst habe, dass ich etwas an Daten übersehen könnte, was mir großen Ärger verschaffen kann. Das Filtern habe ich weggelassen. Mir würde es erst einmal reichen, dass der Bereich auf dem Worksheet "Daten" in der Userform erscheinen würde.
https://www.herber.de/bbs/user/37793.xls
Kann es sein, dass, wenn die Daten gefildert werden, das Makro trotzdem den ganzen Bereich zeigen würde?
Und noch eine Frage: könnte man auf der Userform mit Hilfe des folgenden Makros ein Bild einfügen, was auch über Scrollbalken verfügt?
Das Makro würde ungefähr so lauten:

Sub Kamera()
[A1:A9].CopyPicture
[B1].Activate
ActiveSheet.Paste
End 

Sub
Gruß
Erdogan

Anzeige
AW: Bereich als Liste in Userform ausgeben
31.10.2006 02:40:53
Daniel Eisert
Hallo
das mit den Daten in der Userform erreichst du am besten über die RowSource-Eigenschaft der Listbox.
Hier arbeitet man am besten mit Namen, die die sich auf den entsprechenden Zellbereich beziehen. Diese Namen werden in EINFÜGEN-NAMEN-FESTLEGEN erstellt.
Damit der Name aber immer aktuell ist, erstelle ich ihn automatisch per Makro. Das makro dazu steht im Codebereich des jeweiligen Sheets und läuft immer ab, wenn in dem Sheet was geändert wird.
Des weiteren habe ich noch ein 2. Sheet eingefügt, in dieses wird per Button aus "Daten" die gefilterte Tabelle reinkopiert. Hier stehen dann auch wirklich nur die gefilterten Daten drin.
Wenn ich jetzt die ROWSOURCE-Eigenschaft den kopierten Daten zuweise, werden auch nur diese angezeigt.
Ist ROWSOURCE der Original-Datenstand zugewiesen, werden alle Daten angezeigt, unabhängig von der Filterung.
Schau dir mal das Beispiel an. https://www.herber.de/bbs/user/37794.xls
Deine Idee mit der Bildkopie und dann einfügen hatte ich auch schon mal hier im Board angeregt, allerdings weiß ich nicht wie es praktisch gehen soll. Ich weiß auch nicht, ob die Idee hier weiterentwickelt wurde.
Kompliziert wird es, weil in die Userform nur ein Bild aus einer Datei eingefügt werden kann. (Meines Wissens nach).
Daher müsste es theoretisch so gehen:
- Bildkopie vom gefilterten Bereich erstellen
- Bildkopie als Grafikdatei speichern
- Grafikdatei laden und in Userform einfügen.
Für die praktische Umsetzung fehlt mir aber das KnowHow
Gruß, Daniel
Anzeige
AW: Bereich als Liste in Userform ausgeben
31.10.2006 04:12:53
Erdogan
Hallo Daniel,
vielen Dank für die ausführliche Anleitung. Ich habe deine Beispieldatei herunterladen, jedoch erhalte ich folgende Fehlermeldungen:
1. Schaltfläche:
Userbild
2. Schaltfläche:

Die Datei https://www.herber.de/bbs/user/37796.jpg wurde aus Datenschutzgründen gelöscht

Aus dem Debugger werde ich aber nicht schlau.
Bezüglich des "Bildes in eine Userform laden" habe ich vor langer Zeit eine Datei gefunden, die so ähnlich funktioniert, jedoch verstehe ich sie nicht. Ich weiß beim besten Willen nicht, woher das die Datei die Bilder herbekommt oder wo das Makro steht, um die Bilder in die Userform zu laden. Vielleicht wirst du daraus schlau:

Die Datei https://www.herber.de/bbs/user/37797.xls wurde aus Datenschutzgründen gelöscht

Mir erscheint logisch, in ein bestimmtes Verzeichnis das Bild zu speichern, was von einem bestimmten Bereich erzeugt wurde und dann in die UserForm zu laden. Wenn die UserForm geschlossen wird, sollte das Bild per Makro gelöscht werden um Platz für eine neue Grafik zu schaffen, ohne das Problem zu bekommen, dass eine Datei mit dem selben Namen bereits in dem Verzeichnis vorhanden ist. Um das zu realisieren fehlt wiederum mir das nötige KnowHow.
Gruß
Erdogan
Anzeige
AW: Bereich als Liste in Userform ausgeben
31.10.2006 11:23:32
Daniel Eisert
Hallo
das Bild kommt in die Userform, in dem du in den Eigenschaften zum Picture-Element auf PICTURE klickts und dann ein Bild auswählst.
In deinem Beispiel ist das von Hand gemacht und nicht mit einem Makro hinterlegt.
Wird aber sicherlich auch per Makro gehen, da muß man jetzt etwas rumprobiern um rauszufinden, wie die Befehle dazu heißen.
ggf. mal den Makro-Recorder mitlaufen lassen, wenn du einem Normalen Grafikelement ein Hintergrundbild zufügst, und dann versuchen, den Code auf das Picture-Elemnt zu übertragen.
Die Hauptschwierigkeit dürfte aber erstmal sein, den Screenshot, bzw. überhaupt als Datei zu speichern. Ich meine, daß das hier schon mal diskutiert wurde, such mal etwas rum und wenn du nichts findest, mach nen neuen Thread auf.
Stichworte wären
-Screenshot
-Bildkopie
-Speichern als Datei
Gruß, Daniel
Anzeige
AW: Bereich als Liste in Userform ausgeben
31.10.2006 21:23:14
Erdogan
Hallo Daniel,
ich danke für die Antwort. Dann werde ich mich erst mal auf unsere erste Lösung kozentrieren. Ich denke, ich brauche noch etwas Zeit, bis ich das Makro verstanden habe und weiteren Anforderungen anpassen kann. Eine tolle Hilfe war das jetzt allemal!
Viele Grüße
Erdogan
AW: Bereich als Liste in Userform ausgeben
31.10.2006 04:28:39
Erdogan
Hallo Daniel,
ich muss mich entschuldigen, der Fehler lag bei mir. Dein Beispiel funktioniert sehr gut. Man darf die Datei lediglich nicht über das Forum im Internet Explorer öffnen, sondern muss sie erst einmal speichern und dann über Excel öffnen. Dann funktioniert alles super.
Herzlichen Dank für deine Hilfe!!!
Falls du noch Interesse hast, die Möglichkeit mit dem "Bild in eine UserForm laden" weiter zu entwickeln, freue ich mich über weitere Antwort von dir.
Viele Grüße
Erdogan
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige