Keresés

Hirdetés

Új hozzászólás Aktív témák

  • Fferi50

    őstag

    válasz csferke #46192 üzenetére

    Szia!
    Azért ez nem ennyire egyszerű.
    A formoknak külön kódlapjuk van, ahova eseménykezelőket és normál eljárásokat is be lehet illeszteni. Ahhoz, hogy a megfelelő helyre kerüljön az adat, nem a formot kell pozicionálni.
    A form sem a kiválasztott (selected) cellánál fog megjelenni.
    A form pozicionálásra két lehetőség is van:
    a.) az Activate eseménykezelőben direktben megadhatod a Top és Left paraméterekkel, hogy hol jelenjen meg a képernyőn. Ugyanitt a Height és a Width paraméterekkel megadhatod a méreteit is.
    b.) a form Move tulajdonságát használva szintén meghatározhatod a helyzetét és a méretét a program futása közben is.
    FONTOS: a méretek képpontban vannak meghatározva és a képernyő bal felső széle a 0,0 koordináta. Ezt kell figyelembe venned, amikor meghatározod a megjelenés helyét.
    Pl. az alábbi eseménykezelők a form kódlapján:
    Private Sub UserForm_Activate()
    With Me
    .Top = Range("N1").Top + 10
    .Left = Range("N1").Left
    End With
    End Sub

    Ez az N1 cella pozíciójának megfelelően, de a képernyő felső széléhez nagyon közel jeleníti meg a formot - mivel az első sor top pozíció értéke 0.
    Private Sub UserForm_Click()
    With Me
    .Move 100, 120, 400, 300
    End With
    End Sub

    Ez a formra kattintáskor áthelyezi a formot a 100,120 kezdőpontra és átméretezi.
    Kis gyakorlással el fogod tudni helyezni a formokat a számodra megfelelő helyen.
    A formon bevitt értékek elhelyezésére külön eljárásokat kell írni - ami lehet eseménykezelő vagy normál eljárás.
    Pl.
    Private Sub TextBox1_Change()
    Range("A1").Value = Me.TextBox1.Text
    End Sub

    A Textbox1 változásakor az értéket beírja az A1 cellába.
    Üdv.

    [ Szerkesztve ]

Új hozzászólás Aktív témák