Hinweis
Beim durchblättern älterer Beiträge habe ich festgestellt,
dass einige Beispiele bei Excelversionen größer XL 97 nicht funktionieren.
Das liegt daran, dass sich die Klassennamen der Benutzerformen bei den verschiedenen
Versionen unterscheiden. Zu Beginn meiner Excel-Laufbahn habe ich ausschließlich
mit Excel 97 gearbeitet und dort war der Klassenname noch "ThunderXFrame".
Sucht man nun das Fensterhandle einer Benutzerform und benutzt diesen Klassennamen,
wird unter anderen Excelversionen (<> XL97) das Handle nicht gefunden.
MyFormHwnd = FindWindow("ThunderXFrame", Me.Caption)
Abhilfe schafft man, indem man den Klassennamen durch die Konstante vbNullString ersetzt.
MyFormHwnd = FindWindow(vbNullString, Me.Caption)
Momentan verwende ich eine etwas andere Methode, Fensterhandles von Benutzerformen
zu ermitteln, indem ich den Fenstertitel, also die Caption der Benutzerform
temporär ändere und nach dem geänderten Titel suche.
Durch Verwendung einer nahezu unverwechselbaren Zeichenkette wird auschließlich
das Handle der Benutzerform gefunden, dessen Titelleiste geändert wurde.
Private Function GetMyHandle() As Long
Dim strMe As String
Dim strFind As String
' Liefert das Handle der Userform
strFind = "asdfghjk"
strMe = Me.Caption
Me.Caption = strFind
GetMyHandle = FindWindow(vbNullString, Me.Caption)
Me.Caption = strMe
End Function
Falls dennoch Probleme auftreten, können Sie mich anmailen, ich werde dann
versuchen, Ihnen im Rahmen meiner Möglichkeiten weiterzuhelfen.

Noch etwas.
Wenn Sie sich den Code älterer Mappen anschauen, werden Sie feststellen,
dass dort keine Präfixe für Variablen verwendet wurden, die die Gültigkeit
und den Datentyp angeben. Außerdem wurden zum Teil die Datentypen bei
der Deklaration nicht ausgeschrieben.
Man lernt aber im Laufe der Zeit hinzu und mittlerweile struktuiere ich meinen
Code auch etwas anders. Ich habe aber keine große Lust dazu, alles auf
den neusten Stand zu bringen, also sehen Sie es mir nach und verbuchen die Abweichungen
von der heute verwendeten Form unter Jugendsünden oder Anfängerfehler.
In meinem Buch Excel-VBA gehe ich übrigens
auch auf die Struktuierung von Code und die Verwendung von Präfixen bei
Variablen ein. Außerdem wird dort unter anderem die Codeoptimierung in
Bezug auf Lesbarkeit und Geschwindigkeit behandelt. Für den ambitionierten
VBA-Programmierer sicherlich ein sehr wichtiges Thema.