2013-03-04 20 views
6

Jak ustawić pozycję ramki w suwaku (wewnątrz formularza użytkownika)?excel - vba - userform - frame - set scrollbar position

postępowania:

Mam ramie w UserForm, który ma zawartość dynamiczną. Jeśli więc zawartość jest zbyt duża, aby zmieściła się w ramce, to (dynamicznie) tworzy pasek przewijania w tej ramce. Pasek przewijania ma również wartości dynamiczne, następujące po rozmiarze zawartości klatki.

Kod, który aktualizuje przewijania jest następująca:

With userform1.frame1 
    'dynamic size 
    .ScrollHeight = param1 * param2 
    .ScrollWidth = .InsideWidth * 30 
End with 

Więc chciałbym mieć coś do wysłania przewijania do dolnej pozycji! Jak mogę to zrobić? góry dzięki

Odpowiedz

7

Po ustawieniu scrollHeight i scrollWidth i jeszcze wewnątrz bloku try With:

.Scroll ActionX:=fmScrollActionNoChange, ActionY:=fmScrollActionEnd

Więcej szczegółów można znaleźć here

+0

nie wiem dokładnie dlaczego, ale używając go tak nie działało. Nie rozpoznało "ActionX". Więc użyłem go bez explicity: po prostu '.Scroll fmScrollActionNoChange, fmScrollActionEnd' Postaram się mocniej na dokumentach następnym razem! Wielkie dzięki! – ramtoo