UserForm - poloha v okně Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

VALL
Level 1
Level 1
Příspěvky: 95
Registrován: únor 12
Pohlaví: Nespecifikováno
Stav:
Offline

UserForm - poloha v okně

Příspěvekod VALL » 16 črc 2012 15:17

Ahoj,
Hledám řešení pro zapozicování user formu.
Potřebuji, aby když kliknu do nějaké oblasti např., do buňky C10 tak, aby po vyvolání UserFormu se daný user form přikotvil k rohu vybrané buňky (jedno kterému).

Reklama
karel.laska
Level 2.5
Level 2.5
Příspěvky: 274
Registrován: červen 11
Pohlaví: Muž
Stav:
Offline

Re: UserForm - poloha v okně

Příspěvekod karel.laska » 16 črc 2012 15:52

Zdravím,

možná to bude zcestný, přesto, takto si zobrazuji kalendář.
Třeba to půjde podobně i s Vaším formulářem.

Kód: Vybrat vše

    If Not Intersect(Target, Range("C1:C2")) Is Nothing Then
         With Calendar1
            .Visible = True
            .Left = ActiveCell.Left + ActiveCell.Width
            .Top = ActiveCell.Top
            .Value = ActiveCell.Value
        End With
        kaledarvisible = True
       
    Else
        If kaledarvisible = True Then
            Calendar1.Visible = False
            kaledarvisible = False
        End If
    End If


S pozdravem
Láska Karel

VALL
Level 1
Level 1
Příspěvky: 95
Registrován: únor 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: UserForm - poloha v okně  Vyřešeno

Příspěvekod VALL » 17 črc 2012 10:47

Díky za inspiraci. Kód jsem musel trochu přepsat a funguje to.
Mám tam jenom malou drobnost a to, když zjistím polohu buňku a podle této polohy chci umístit UserForm, tak se nezakotví rohem na roh buňky, ale o nějakou korekci dovnitř buňky (zjistil jsem že je to kurzor na kurzor) a nad buňku.
Nevíte někdo, jak ukotvit roh UserFormu na roh buňky?

Pro ukázku upravený kód pro zapolohování UserFormu dle aktivní buňky.

Kód: Vybrat vše

Private Sub UserForm_Activate()
'přikotví k označené buňce UserForm

Dim ac As Object
Set ac = activecell

polohaL = ac.Left + ac.Width
polohaT = ac.Top + UserForm1.Height + ac.Height

UserForm1.Left = polohaL
UserForm1.Top = polohaT

End Sub

karel.laska
Level 2.5
Level 2.5
Příspěvky: 274
Registrován: červen 11
Pohlaví: Muž
Stav:
Offline

Re: UserForm - poloha v okně

Příspěvekod karel.laska » 17 črc 2012 10:54

Zdravím,

myslím že by mělo stačit odstranit ac.Width
protože tím se posune začátek na další buňku.

Karel Láska

VALL
Level 1
Level 1
Příspěvky: 95
Registrován: únor 12
Pohlaví: Nespecifikováno
Stav:
Offline

Re: UserForm - poloha v okně

Příspěvekod VALL » 17 črc 2012 11:09

Odstranění ac.Width udělá to, že se žačátek posune před buňku.

karel.laska
Level 2.5
Level 2.5
Příspěvky: 274
Registrován: červen 11
Pohlaví: Muž
Stav:
Offline

Re: UserForm - poloha v okně

Příspěvekod karel.laska » 17 črc 2012 11:12

Aha,

to jsem nezkoušel...

Teď už ano :-)..
Zkuste tedy místo ac.Width dát přímo hodnotu (třeba 3)

Láska Karel


Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti