Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1344to1348
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
Inhaltsverzeichnis

VBA Monthview Anzeige

VBA Monthview Anzeige
01.02.2014 07:57:04
Azzurro
Hallo Leute,
habe ein kleines Problem mit meinem Steuerelement MonthView.
Und zwar habe ich folgenden Code benutzt:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$H$13" Then
MonthView21.Left = Target.Left
MonthView21.Top = Target.Top '+ Target.Height
MonthView21.Visible = True
MonthView21.Refresh
ElseIf Target.Address = "$H$19" Then
MonthView21.Left = Target.Left
MonthView21.Top = Target.Top '+ Target.Height
MonthView21.Visible = True
MonthView21.Refresh
Else
MonthView21.Visible = False
End If
Ziel ist es wenn ich auf Fehld H13 oder H19 klicke ein Kalender aufploppt, ich ein Datum auswählen kann und das Datum in die Zelle übernommen wird. Der andere Teil des Codes in dem der Wert übernommen wird habe ich mal nicht angehängt.
Nun zu meinem Problem:
Wenn ich auf eine der beiden Zellen klicke in denen der Kalender aufploppen soll, tut er es auch. Er wird allerdings doppelt angezeigt. Wenn ich zu erst auf H13 klicke, wird er in der von mir gewünschten Zelle angezeit UND oben links. Wenn ich nun kurz runter und hochscrolle verschwindet die ungewünschte Anzeige und es verbleibt nur noch die Anzeige in GH13 (so wie ich es will).
Genau dasselbe Spiel in H19. Wenn ich dort draufklicke, wird der Kalender in der gewünschten Zelle H19 angezeigt UND in Zelle H13. SIe überlappen sich sozusagen.Bei kurzem scrollen verschwindet auch hier die ungewünschte Anzeige.
Liegt der Fehler bei mir oder ist das ein Anzeigeproblem von Excel?
Und falls ja, wie kann ich dieses Problem beheben?
Grüße
Azzurro

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Monthview Anzeige
01.02.2014 09:17:33
hary
Moin Azzurro
Proier mal so.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'wenn mehr als 1 Zelle ausgewaehlt dann nicht ausfuehren
If Target.Address = "$H$13" Or Target.Address = "$H$19" Then
MonthView21.Left = Target.Left
MonthView21.Top = Target.Top '+ Target.Height
MonthView21.Visible = True
MonthView21.Refresh
Else
MonthView21.Visible = False
End If
End Sub

gruss hary

AW:Zusatz
01.02.2014 09:37:33
hary
Moin nochmal
Das schliessen des MonthView wuerd ich in den Code eintragen wo das Datum in die Zelle eingetragen wird.
gruss hary

Anzeige
AW: AW:Zusatz
01.02.2014 17:43:11
Azzurro
Servus,
leider behebt der Code das Problem nicht. Der Kalender verschwindet garnicht mehr, nachdem er per Mausklick auf die Zelle H13 aktiviert wird. Wenn ich zuerst auf H19 klicke erscheint der Kalender nicht.
Für was steht die Zeile "If Target.Count...." ? Nur dazu dass der Benutzer keinen Kalender erhält falls er auf mehrere Zellen klickt? Falls ja könnte ich diese Zeile auch weglassen oder? Habe nämlich das Feld hervorgehoben, sodass jeder versteht dass man dort klicken muss :)

Lösungsversuch ...
01.02.2014 19:22:09
Matthias
Hallo
Zitat
Für was steht die Zeile "If Target.Count...." ? Nur dazu dass der Benutzer keinen Kalender erhält falls er auf mehrere Zellen klickt?
Hast Du denn harys Beitrag nicht gelesen?
If Target.Count > 1 Then Exit Sub 'wenn mehr als 1 Zelle ausgewaehlt dann nicht ausfuehren


Probiers nun mal so:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MonthView21.Visible = False 'hier erstmal ausblenden
If Target.Count > 1 Then Exit Sub 'wenn mehr als 1 Zelle ausgewaehlt dann nicht ausfuehren
If Target.Address = "$H$13" Or Target.Address = "$H$19" Then
MonthView21.Left = Target.Left
MonthView21.Top = Target.Top '+ Target.Height
MonthView21.Visible = True
MonthView21.Refresh
Else
MonthView21.Visible = False
End If
End Sub


Denn wenn Du zuerst H13 anklickst und dannach ohne Zwischenstation H19 anklickst
wird ja die Anzeige des Kalenders nicht ausgeblendet. Meist ist dann Excel zu träge
und zeigt beide Positionen an.Durch das Scrollen wird das Bild neu aufgebaut
In einem UserForm würde man das mit Repaint lösen.
Ob das in einer Tabelle auch klappt kann ich nicht testen.
Hab das MonthView-Element leider auf diesem Rechner nicht zur Verfügung.
Im Normalfall brauchst Du dann auch den ELSE-Zweig nicht mehr,
da die Anweisung dann doppelt wäre.
Wollte nur nicht gleich zu viel verwirren.
Gruß Matthias

Anzeige
AW: Lösungsversuch ...
02.02.2014 12:08:52
Azzurro
Hallo Matthias,
der "Anzeigefehler" besteht leider immernoch:(
Wie könnte man es mit "Repaint" lösen? Habe leider keinerlei Erfahrung mit dieser Option.

AW: Lösungsversuch ...
02.02.2014 12:16:39
Azzurro
Oder gibt es noch einen weiteren Lösungsvorschlag wie man dieses Anzeigenproblem lösen könnte?
Bin echt ratlos

Ich kanns nicht testen ...
02.02.2014 16:04:52
Matthias
Hallo
Hatte es ja bereits geschrieben,
das ich das MonthView-Objekt auf diesem PC nicht zur Verfügung habe.
Ich hab es aber mal mit dem Calendar-Steuerelement getestet,
da funktioniert das ein- und ausblenden ohne Probleme.
Es wird der Kalender nur 1x angezeigt.
Ich würde auch noch empfehlen, bastelt Euch einen eigenen Kalender.
Bei Excel-Gut, VBA-Gut sollte das machbar sein.
Ich schreibe das jetzt aus Erfahrung.
Betriebssystem und Softwareumstellung in der FA
WIN8 + Office2013
Kein Kalendersteuerelemnt mehr vorhanden. In vielen Dateien aber mit eingepflegt!
Fazit: Fehlermeldungen wie: mind. ein Objekt konnte nicht geladen werden :(
Da hab ich halt meinen eigenen Kalender in die wichtigen Dateien gepackt.
und kann meine seit über 10 Jahren erfolgreich genutzten eigenen Programme
auch weiterhin benutzen.
Gruß Matthias

Anzeige
AW: Ich kanns nicht testen ...
03.02.2014 16:23:12
Azzurro
Calendar steuerelement?
Sorry falls ich so dumm frage, finde es aber nicht bei mir..

AW: Ich kanns nicht testen ...
03.02.2014 20:35:45
Azzurro
Ok. Was würdest du mir jetzt raten um mein problem zu lösen?
Einen eigenen kalender per Userform basteln?
Bin da leider nicht so sehr drin, dass ich das hinkriegen würde. Hast du dafür eine Vorlage?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige