"Tue Hellstern" <info@f1-support.dk> wrote in message news:3c274705$0$89121$edfadb0f@dspool01.news.tele.dk...
> Hej og god jul,
> Er det muligt vis VBA kode at styre antallet af tekstbokse på en
> userform. Iden er at der i nogel tilfælde skal være f.eks. 3
> tekstbokse men i andre tilfælde skal der være 5 tekstbokse på en
> given userforn. Er dette muligt via kode?
Ja se længere nede
> I det gamle WordBasic "tegnede" man tekstbokse osv. via kode,
> men hvad med VBA.
>
> Hilsen
> Tue
Hej Tue
I dette lille eksempel indtaster man antallet af tekstbokse i A2
(skal være mellem 1 og 5 i dette tilfælde). Man kan så klikke på en
knap, som viser UserForm1 med det tilsvarende antal af
tekstbokse.
Koden for knappen.
Private Sub cmdOpenForm_Click()
UserForm1.Show
End Sub
I UserForm1 er følgende kode indsat:
Private Sub UserForm_Activate()
Dim intNumberOfBokses As Integer
Dim i As Integer
Dim intPlace As Integer
Dim ctrlControl As Control
' Antallet af tekstbokse
intNumberOfBokses = Sheets("Ark1").Range("A2:A2")
If intNumberOfBokses < 1 Or _
intNumberOfBokses > 5 Then
MsgBox "Forkert antal bokse"
UserForm1.Hide
Exit Sub
End If
' Fjern alle eksisterende elementer
While UserForm1.Controls.Count > 0
UserForm1.Controls.Remove 0
Wend
intPlace = 30
For i = 0 To intNumberOfBokses - 1
' For hver tekstbok opret den med navnet "Tekst" & i
Set ctrlControl = Controls.Add( _
"Forms.TextBox.1", "Tekst" & i, True)
' Placering i forhold til venstre kant
ctrlControl.Left = intPlace
ctrlControl.Top = 30
ctrlControl.Text = "Test : " & ctrlControl.Name
intPlace = intPlace + ctrlControl.Width + 20
Next i
End Sub
Koden er hurtigt klippet samme og normalt bruger jeg ikke Activate
hændelsen til dette, men jeg tror at du kan bruge eksemplet til
noget
.
--
Mikkel Bundgaard
IT University of Copenhagen
http://officehelp.gone.dk
Codito, Ergo Sum