Microsoft Excel

Herbers Excel/VBA-Archiv

Kalender verändert sich...


Betrifft: Kalender verändert sich...
von: Philipp
Geschrieben am: 04.12.2018 10:42:47

Guten Morgen,
ich habe einen Kalender in einer Tabelle,
habe festgestellt, die Größe auf der VB-UF ebene verändert
sich , wenn ich mehrmals öffnen uns schließe.
Wieso ?

http://www.herber.de/bbs/user/125865.xlsm

mgf philipp

  

Betrifft: Zusatz...
von: Philipp
Geschrieben am: 04.12.2018 10:52:42

Hallo zusammen,
habe festgestellt, bei einer anderen Datei passiert dies nicht !
Hat dies etwas mit der UF Einstellung zu tun ?

gruß philipp


  

Betrifft: Wieso weiß den keiner ...
von: Philipp
Geschrieben am: 04.12.2018 15:17:40

Hallo allerseits,
hat den keiner so ein Problem mal gehabt ?
Habe gerade mal die UF im VB Modus in der Größe etwas verändert und bei Aufruf
der UF von der Tabelle aus, verändert sich, bei jeden Aufruf die
UF des Kalenders in der Größe.

gruß philipp


  

Betrifft: AW: Kalender verändert sich...
von: onur
Geschrieben am: 04.12.2018 17:52:46

Lass einfach den Müll in Private Sub UserForm_Activate() weg.


  

Betrifft: AW: Kalender verändert sich...
von: Philipp
Geschrieben am: 04.12.2018 18:54:55

Guten Abend onur,
habe ich doch gemacht aber wenn ich die Userform etwas vergößere,
und dann in der Tabelle aufrufe wird der Calender darin bei jeden Aufruf
größer.
Wieso ?

mfg philipp


  

Betrifft: AW: Kalender verändert sich...
von: Daniel
Geschrieben am: 05.12.2018 03:06:15

Hi

1. du veränderst die Größe nicht auf einen absolutwert, sondern immer relativ zur aktuellen Größe.
dh wenn du diesen Code mehrfach hintereinander ausführst, ohne zwischen durch den Calender wieder auf die Ursprungsgröße zurückzusetzen, wird dein Kalender immer größer.

2. du machst die Aktion im Activate-Event, besser wäre wahrscheinlich, wenn du sie ins Intialize-Event verschieben würdest.
das Initialize-Event läuft nur beim ersten Öffnen der Userform, wenn alle Eigenschaften noch die Werte haben, die in der Eigenschaftsliste eingetragen sind.
das Activate-Event kann auch laufen, wenn die Userform wieder aktiviert wird, ohne ganz geschlossen worden zu sein, so dass die geänderten Eigenschaften nicht zurückgesetzt sind.

Gruß Daniel


  

Betrifft: Guten Morgen Daniel -)
von: Philipp
Geschrieben am: 05.12.2018 09:14:41

Guten Morgen Daniel,
habe geändert, leider ohne Erfolg.
Ich habe jetzt die Werte als Fest eingegeben so wird beim öffnen
aus der Tabelle heraus immer die Richtige Größe angezeigt.

Private Sub UserForm_Initialize()   
     With UF_Kalender
         .Height = 231          ' Application.Height
         .Width = 247           ' Application.Width
        ' 0: Manuell;
        ' 1: Fenstermitte
        ' 2: Bildschirmmitte
        ' 3: Windows-Standard
       ' .StartUpPosition = 0 'links oben
        .Top = 90
        .Left = 340
    End With
    
    With Calendar1
         ' 0: Manuell;
        ' 1: Fenstermitte
        ' 2: Bildschirmmitte
        ' 3: Windows-Standard
      '  .StartUpPosition = 0 'links oben
        .Top = 10
        .Left = 20
        .Height = 160
         .Width = 220
    End With  
    Calendar1.Value = Date
    ActiveSheet.Range("M22") = (Calendar1.Value) 
End Sub
mfg
philipp


  

Betrifft: AW: Guten Morgen Daniel -)
von: Daniel
Geschrieben am: 05.12.2018 09:22:39

Die Frage wäre dann, warum du die passende Größe nicht gleich direkt in die Eigenschaftsliste einträgst.
Per Code sollte man nur diejenigen Eigenschaften einstelle, die von veränderlichen Werten abhängen und daher aktuell berechnet werden müssen.

Gruß Daniel


  

Betrifft: AW: Guten Morgen Daniel -)
von: onur
Geschrieben am: 05.12.2018 10:32:17

Abgesehen davon, dass Kalender1 NICHT grössenveränderbar ist -höchstens die Position kann man wählen.