userform vragen

Status
Niet open voor verdere reacties.

leofact

Redacteur
Lid geworden
10 feb 2007
Berichten
6.377
Ik gebruik een userform om verschillende (help)teksten weer te geven met het label object.
Door label op autosize te zetten wordt de grootte automatisch aangepast aan de tekstlengte.
Dat lukt me jammer genoeg niet met het userform zelf. Is het mogelijk om het userform automatisch aan de grootte van het label aan te passen en zo ja hoe doe ik dat?
Verder zou ik het userform dichtbij de geselecteerde cel willen plaatsen.
Hoe lees ik de x en y waarde van de actieve cel uit om die vervolgens te gebruiken om het userform te plaatsen?
Alvast bedankt voor de moeite!
Groeten Leo
 

Bijlagen

  • voorbeeld.zip
    85,7 KB · Weergaven: 42
Laatst bewerkt:
Na wat puzzelen heb ik het volgende voor je gevonden...
Niet meer van die moeilijke vragen stellen hoor! :D

Deze code controleert of de label niet langer is dan het venster (standaard op 300 gesteld), en past de breedte er evt op aan mocht dat nodig zijn.

De locatie wordt gevonden via ActiveCell, maar je moet de locatie converteren naar schermcoordinaten. En dat valt nog niet mee, zoals je zult zien! :shocked:

Code:
Private Sub UserForm_Activate()
    Dim LeftPosForm As Single
    Dim TopPosForm As Single
    Dim WidthForm As Single
        
    WidthForm = ActiveWindow.PointsToScreenPixelsX((Label1.Left + Label1.Width) * 96 / 72) * 72 / 96
    
    LeftPosForm = ActiveWindow.PointsToScreenPixelsX((ActiveCell.Left + ActiveCell.Width) * 96 / 72) * 72 / 96
    TopPosForm = ActiveWindow.PointsToScreenPixelsY((ActiveCell.Top + ActiveCell.Height) * 96 / 72) * 72 / 96
    
    If WidthForm <= 300 Then
        Me.Move LeftPosForm, TopPosForm
    Else
        Me.Move LeftPosForm, TopPosForm, WidthForm
    End If
End Sub

Succes!
 
Hee,
Ik had de hoop al opgegeven.
Ik ga het gauw proberen binmnenkort..
Bedankt Eelco
Groeten Leo
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan