Törölt nick Creative Commons License 2013.05.18 0 0 21342

Én is próbálkoztam tegnap, ugyanerre jutottam. Azért tapasztaljuk ezt, mert a Useforms.Count azokat a formokat számolja, amelyek létre vannak hozva objektumként. Az, amit szépen összerakunk textboxokból meg commandbuttonokból, az még csak az objektumosztály, de annak egy példányát futás közben létre kell hozni ahhoz, hogy ténylegesen legyen megszámolható Userform az Application-ban.

 

Szóval kellene ide minimum egy Load utasítás:

Sub teszt()
    Load UserForm1
    Load UserForm2
    
    MsgBox UserForms.Count
End Sub

A fenti makró futásának eredménye: 2

 

Ezt ugye fel lehetne használni pimre projektjében is, csak kérdés, hogy egyszerűbb lenne-e, mint a fapados megoldás, amit ő maga kitalált. Merthogy itt a UserForms gyűjtemény tagjaira csak sorszámmal lehet hivatkozni (pl. UserForms(1)), a névvel hivatkozás (pl. UserForms("UserForm1")) hibát okoz.

Előzmény: tbando (21341)