Avatar billede kgndksv Juniormester
10. november 2015 - 10:13 Der er 5 kommentarer og
1 løsning

Oprette variabelt antal kontrolelementer i userform og placere dem bestemt

Hej,

Er der nogen der har et forslag til en kode, som opretter X antal tekstboxe i en userform og så placerer de første 12 ved siden af hinanden( med lidt mellemrum Selvfølgelig) og så påbegynder en ny række under med de næste 12 og så de næste 12 osv...

Hilsen
KGNDKSV
Avatar billede supertekst Ekspert
10. november 2015 - 11:06 #1
Det skulle nok være muligt - vender tilbage..
Avatar billede supertekst Ekspert
10. november 2015 - 12:34 #2
Indsættes i Userformen

Const antalRækker = 8
Const antalPrRæk = 12
Const H_mellemrum = 5
Const V_mellemrum = 5
Const højde = 25
Const bredde = 70
Const tbNavn = "Tb_"                'efterfulgt af Nr
Dim tbNr As Integer, V_antal As Integer, H_antal As Integer, H_offset As Integer, V_offset As Integer
Private Sub UserForm_activate()
    tbNr = 1
    H_offset = 0
    V_offset = 0
   
    For V_antal = 1 To antalRækker
        For H_antal = 1 To antalPrRæk
            Controls.Add "forms.Textbox.1", tbNavn & CStr(tbNr), True
            With Controls(tbNavn & CStr(tbNr))
                V_offset = V_mellemrum + (højde + V_mellemrum) * (V_antal - 1)
                .Top = V_offset
                .Height = højde
                .Width = bredde
                .Left = H_mellemrum + (H_offset + bredde) * (H_antal - 1)
                H_offset = H_mellemrum
                tbNr = tbNr + 1
            End With
        Next H_antal
    Next V_antal
End Sub
Avatar billede kgndksv Juniormester
10. november 2015 - 15:37 #3
Du er så vild!! :-) Tusind tak for hjælpen!
Avatar billede kgndksv Juniormester
10. november 2015 - 15:46 #4
Hvad hvis jeg vil have userform til at auto tilpasse sig de kontrolelementer, der er i userformen?
Avatar billede supertekst Ekspert
10. november 2015 - 16:14 #5
Selv tak - skal nok vende tilbage vedr. dit spørgsmål..
Avatar billede supertekst Ekspert
10. november 2015 - 23:34 #6
Const antalRækker = 12
Const antalPrRæk = 12
Const H_mellemrum = 5
Const V_mellemrum = 5
Const højde = 25
Const bredde = 70
Const tbNavn = "Tb_"                'efterfulgt af Nr
Dim tbNr As Integer, V_antal As Integer, H_antal As Integer, H_offset As Integer, V_offset As Integer
Private Sub UserForm_activate()
    tbNr = 1
    H_offset = 0
    V_offset = 5
   
    For V_antal = 1 To antalRækker
        For H_antal = 1 To antalPrRæk
            Controls.Add "forms.Textbox.1", tbNavn & CStr(tbNr), True
            With Controls(tbNavn & CStr(tbNr))
                V_offset = V_mellemrum + (højde + V_mellemrum) * (V_antal - 1)
                .Top = V_offset
                .Height = højde
                .Width = bredde
                .Left = H_mellemrum + (H_offset + bredde) * (H_antal - 1)
                H_offset = H_mellemrum
                tbNr = tbNr + 1
            End With
        Next H_antal
    Next V_antal

rem Tilføjelser   
    Me.Width = (bredde * antalPrRæk + 1) + H_mellemrum * (antalPrRæk + 1) + H_mellemrum  'H_antal
    Me.Height = (V_mellemrum + højde) * V_antal + 1
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester