Excel 2010-UserForm - Formular nicht scrollen mit Mausrad
Ich habe eine UserForm, die ich angelegt habe in Excel 2010 mit VBA. Steuerelemente zum Formular Hinzugefügt programmgesteuert basierend auf Daten aus einem bestimmten Blatt. Mein code fügt alle Bedienelemente und bestimmt dann, wenn das Formular zu lang. Wenn es ist, dann ist die form festgelegt wird, bis zu einer Höhe von 500 Pixel und scrollen aktiviert ist.
Die scrollbars angezeigt werden und funktionieren wie erwartet, wenn Sie auf den Scrollbalken, aber das Maus-Scrollrad hat keine Auswirkungen auf den Scrollbalken auf der form.
Ich habe nicht gesehen, alle Eigenschaften, die für die Aktivierung der Maus-Rad scrollen. Jeder Artikel, den ich gefunden habe auf Google Punkte Bildlauf-Steuerelemente innerhalb einer UserForm (ListBox, ComboBox, etc.) und nicht die UserForm selbst. Andere Artikel, die ich gefunden habe, datiert zurück zu Excel 2003 nicht unterstützt scrollen mit dem Mausrad aus der box.
Hat jemand eine Idee, was hier Los ist?
Hier ist der code wo ich den Bildlauf aktivieren:
If Me.height > 500 Then
Me.ScrollHeight = Me.height
Me.ScrollBars = fmScrollBarsVertical
Me.KeepScrollBarsVisible = fmScrollBarsVertical
Me.height = 500
Me.Width = Me.Width + 12
End If
Ich bin mit Excel 2010 (32-bit) auf einem Windows 7 64bit laptop. In der gleichen Ausgabe erschienen, die auf anderen Computern laufen auch das gleiche setup. Ich don ' T haben Zugang zu einer anderen Konfiguration zu testen.
Ich habe, SO Frage. Ich nicht beziehen sich auf die UserForm selbst, und statt die OP versucht, Blättern Sie ein Steuerelement im Formular. Ich bin neu in VBA, aber ich habe mit .Net und anderen Sprachen, wo ein Bildlauf in einem control-vs-scrolling-form sind sehr verschiedene Dinge.
InformationsquelleAutor Brian | 2013-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie bekommen, es funktioniert nur auf 32-bit-Excel. Der code wird nicht kompiliert und laufen alle unter 64-bit-Excel. Obwohl ich gemacht (bisschen komplizierter) version, ist kompatibel mit 32-bit und 64-bit, aber es einfach nicht scrollt auf 64-bit, aber wenigstens kompiliert (bitte lassen Sie mich wissen, wenn jemand muss, dass 64-bit-kompatibel code).
So erstellen Sie ein neues Modul und füge dort code für die WinAPI-Aufrufe:
Und fügen Sie dann einen einfachen code, der auf Ihrem Benutzerformular,... (vergessen Sie nicht zu ersetzen "frames_(mouseOverFrame_)") mit dem Namen Ihres UI-Steuerelement, das Sie wollen, um zu Blättern.
InformationsquelleAutor alexkovelsky