in vielen Leitfäden oder BeispielCodes taucht immer wieder "Me" auf, z.B.
With Me
...
End With
oder:
Sub btnClose_Click()
Me.Hide
End Sub
Aber Me wird nirgends definiert. Wofür soll das stehen?
LG
Alex
in vielen Leitfäden oder BeispielCodes taucht immer wieder "Me" auf, z.B.
With Me
...
End With
oder:
Sub btnClose_Click()
Me.Hide
End Sub
Aber Me wird nirgends definiert. Wofür soll das stehen?
LG
Alex
Me steht in der Regel für das Userform aus welchem der Code ausgeführt wird.
z.B.
Load Userform1
Userform1.Show
' Userform1 wird angezeigt.
Per Klick auf den CommandButton 'btnClose' soll das Userform ausgeblendet werden.
Entweder...
Userform1.Hide
oder eben leicht kürzer...
Me.Hide
In anderen Worten, statt sich jedesmal auf den Namen des Userforms zu beziehen gehts auch einfach mit Me.
Gruss
Chris
Me kann innerhalb des UserForm-Codes benutzt werden, wenn Du auf Eigenschaften oder Methoden der UserForm zugreifst. Es ist halt so vereinbart. Warum fragst Du?
Gruß
Micha
Grüße
Alexandra
aus der Hilfe:
Das Schlüsselwort Me verhält sich wie eine implizit deklarierte Variable. Es steht allen Prozeduren in einem Klassenmodul automatisch zur Verfügung. Wenn eine Klasse mehrere Instanzen haben kann, stellt Me eine Möglichkeit dar, um sich auf diejenige Instanz der Klasse zu beziehen, in der Code ausgeführt wird. Die Verwendung von Me ist insbesondere dann hilfreich, wenn Sie Informationen zur momentan ausgeführten Instanz einer Klasse an eine Prozedur in einem anderen Modul übergeben möchten. Nehmen Sie beispielsweise an, ein Modul enthielte die folgende Prozedur:
Sub FormFarbeÄndern(FormName As Form)
FormName.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)
End Sub
Sie können diese Prozedur aufrufen und die aktuelle Instanz der Formularklasse als Argument übergeben, indem Sie die folgende Anweisung verwenden:
FormFarbeÄndern Me
-----------------------------------
Du kannst Me z.B. auch für das Activesheet verwenden, z.B.
Gruß Boris