Herbers Excel-Forum - das Archiv
Kalender immer im Vordergrund
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Betrifft: Kalender immer im Vordergrund
von: reiner
Geschrieben am: 07.01.2007 18:37:16
Hallo Leute,
von einer UF aus starte ich das Kalenderelement zur Auswahl eines Datums. Der Kalender erscheint aber immer im Hintergrund, d.h. er wird von der größeren UF verdeckt.
Wie kann der Kalender immer im Vordergrund (vor der UF) geöffnet werden?
mfg
reiner
Betrifft: AW: Kalender immer im Vordergrund
von: Oberschlumpf
Geschrieben am: 07.01.2007 19:20:27
Hi Reiner
Das Kalendersteuerelement ist doch in einem weiteren UF eingebettet, dass geöffnet wird, oder?
Lässt sich das Kalender-UF nicht gebunden öffnen?
frmKalender.Show
Dann sollte es im Vordergrund erscheinen.
Konnte ich helfen?
Ciao
Thorsten
Betrifft: AW: Kalender immer im Vordergrund
von: reiner
Geschrieben am: 07.01.2007 19:57:43
hallo thorsten,
du hast recht mit showmodal=true erscheint die Kalender-UF im Vordergrund, diese Lösung hat aber den Nachteil dass die Bedienelemente der darunter liegenden UF unerreichbar bleiben solange die Kalender-UF geöffnet ist. Diese lässt sich dann nur mit dem Schließkreuz schließen, erst danach sind alle Bedienelememnte der anderen UF erreichbar.
Wenn es möglich ist will ich bei geöffneter Kalender-UF auch jederzeit uneingeschränkt Zugriff auf die andere UF haben; ist so etwas überhaupt mit VBA zu realisieren?
mfg
reiner
Betrifft: AW: Kalender immer im Vordergrund
von: Oberschlumpf
Geschrieben am: 07.01.2007 20:03:58
Hi Reiner
Und wenn du...
...das UF mit Kalender gebunden öffnest (erscheint im Vordergrund)
...dann ein Datum auswählst, und..
...mit Klick auf den gewünschten Tag das UF mit Kalender wieder schließt,...
...dann steht dir das eigentliche UF wieder zur Verfügung
Oder was willst du mit dem Kalender noch machen können, ausser ein Datum auszuwählen?
Konnte ich helfen?
Ciao
Thorsten
Betrifft: AW: Kalender immer im Vordergrund
von: reiner
Geschrieben am: 07.01.2007 22:01:28
hallo thorsten,
.. natürlich will und kann ich mit dem Kalender nur ein Datum auswählen das ist doch klar.
Auf der anderen UF gibt es aber noch Bedienelemente wie ComboBoxen mit Auswahlmöglichkeiten, die Auswertungen mit den vorhandenen Daten ermöglichen an unterschiedlichen Tagen des Jahres. Schließlich kann ich mit einer weiteren Schaltfläche die Kalender-UF schließen und gleichzeitig das aktuelle Tagesdatum wieder einstellen. Natürlich kann ich auch nach jeder Datumswahl die Kalender-UF schließen und die Auswertungen vornehmen.
Es war ja nur eine Frage ob du oder ein anderer Forumsteilnehmer eine andere Möglichkeit kennst/kennt mit der ich meine Vorstellungen realisieren kann – wenn nicht dann ist es eben so.
mfg
reiner
Betrifft: AW: Kalender immer im Vordergrund
von: Oberschlumpf
Geschrieben am: 08.01.2007 00:52:33
Hi Reiner
Vielleicht klappt es ja so.
Wenn du DAS UF (UserformULAR) mit dem Kalender ungebunden aber trotzdem sichtbar anzeigen willst, dann bestimme die Position des UFs mit Userform.Left und Userform.Top beim Laden des UFs.
So kannst du erreichen, dass das Kalender-UF neben, ober- oder unterhalb des Haupt-UFs erscheint.
Konnte ich helfen?
Ciao
Thorsten
Betrifft: AW: Kalender immer im Vordergrund
von: reiner
Geschrieben am: 08.01.2007 11:33:08
hallo thorsten,
.... „So kannst du erreichen, dass das Kalender-UF neben, ober- oder unterhalb des Haupt-UFs erscheint.“
Dieser Vorschlag eine gute und akzeptable Variante.
Allerdings ist das Problem mit „Userform.Top“ allein noch nicht gelöst.
Private Sub cmdKalender_Click()
frmKalender.Show
frmKalender.Top
End Sub
Code eingefügt mit
Syntaxhighlighter 4.3
Wie müsste denn wohl der Programmcode angepasst werden, damit die KalenderUF immer links von der „Haupt“-UF erscheint?
mfg
reiner
Betrifft: Problem gelöst
von: reiner
Geschrieben am: 08.01.2007 11:57:00
hallo thorsten,
ich denke ich habe die Lösung gefunden; mit folgender Schreibweise kann ich gewünschte Position festlegen. Alternativ können die Wert für Top und Left auch in den Eigenschaften eingetragen werden.
Private Sub cmdKalender_Click()
frmKalender.Show
frmKalender.Top = 200
frmKalender.Left = 10
End Sub
Code eingefügt mit
Syntaxhighlighter 4.3
das war’s für heute, vielen Dank für die Unterstützung,
bis zu meinem nächsten Problem
mfg
reiner
Betrifft: AW: Problem gelöst
von: Oberschlumpf
Geschrieben am: 08.01.2007 13:07:08
Hi
Tja, für mich dumm gelaufen :-)
Ich war vorhin am Schreiben, bis ich dann durch Besuch davon unterbrochen wurde.
Jetzt hab ich zu Ende geschrieben, und dadurch deine letzte Meldung nicht mitbekommen :)
Ciao
Thorsten
Betrifft: AW: Kalender immer im Vordergrund
von: Oberschlumpf
Geschrieben am: 08.01.2007 13:05:02
Hi Reiner
Zuerst mal Worterklärung:
"Userform" bedeutet NICHT, dass es sich um EINE Form handelt, sondern "Form" ist das Kurzwort für FORMULAR.
Somit schreiben wir auch NICHT DIE Userform, sondern DAS Userform - weil DAS Userform(ular).
Wäre nett, wenn du das berücksichtigst.
Nun zu deiner Frage.
Die Eigenschaften
.Top
.Left
.Height
.Width
bestimmen die Position eines UFs von oben (Top), von links (Left) und die Höhe (Height) und Breite (Width).
Bsp
Userform1.Top = 0
Userform1.Left = 0
Userform1.Height = 100
Userform1.Width = 100
bedeutet, dass..
Userform1 oben links auf deinem Monitor erscheint.
Die Höhe und Breite des UFs betragen jeweils 100 Pixel.
(die Höhe und Breite eines UFs im VBA-Code zu ändern, ist aber eher die Ausnahme, da du ja normalerweise schon beim Designen des UFs Höhe und Breite einstellst - aber - wie gesagt, es gibt Ausnahmen)
Damit dein 2. UF links neben dem 1. erscheint, kanst du es so versuchen:
Userform2.Left = Userform1.Left + Userform1.Width
bedeutet...
Userform2.Left = Position von Links für UF1 + Breite von UF1
Konnte ich helfen?
Ciao
Thorsten