2017-10-04 7 views
0

Bitte ich brauche deine Hilfe, ich habe ein Problem mit dem nächsten Code, ich möchte in verschiedenen Zellen alle Werte schreiben, die Benutzer eingeben, in der Private Sub CommandButton1_Click() ich schreibe nur 3 von ihnen, aber ich kann 't tun, dass selbst die Faust Wert angezeigt wird, erscheint nur eine Fehlermeldung:TextBox Werte innerhalb einer Schleife

object doesn´t support this property or method.

Dim Label1 As Object 
Dim txtB1 As Control 

For NL = 1 To NumeroLineas 
    Set txtB1 = UserForm2.Controls.Add("Forms.TextBox.1", "TxtBx" & NL, True) 

    With txtB1 
     .Name = "TxtBx" & NL 
     .Height = 25.5 
     .Width = 150 
     .Left = 150 
     .Top = 18 * NL * 2 
    End With  
Next NL 
UserForm2.Show 

'This is UserForm2 
Private Sub CommandButton1_Click() 
    Cells(10, 10) = Controls.TxtBx1.Value 
    Cells(10, 11) = Controls.TxtBx2.Value 
    Cells(10, 12) = Controls.TxtBx3.Value 
End sub 
+0

Sie sind der Experte in Bezug auf Ihren Fall und Sie wissen alles über sie. Bitte gehen Sie nicht davon aus, dass andere Leute auch das volle Wissen davon haben. Bitte genauer und detaillierter: Was möchten Sie erreichen? Was funktioniert schon? Was funktioniert nicht so wie es sollte? Was sind die Fehlermeldungen? – peakpeak

Antwort

0

Sie haben die Code-generierte Kontrollen wie diese Adresse: Controls.Item("ControlName").Value

So sollte folgendes funktionieren:

Private Sub CommandButton1_Click() 
    Cells(10, 10) = Controls("TxtBx1").Value 
    Cells(10, 11) = Controls("TxtBx2").Value 
    Cells(10, 12) = Controls("TxtBx3").Value 

    'This works too 
    'Cells(10, 10) = Controls.Item("TxtBx1").Value 
End sub 

Außerdem ist die Einstellung der Textbox.Name -Eigenschaft redundant.
Diese Zeile ist nicht erforderlich:

.Name = "TxtBx" & NL 
Verwandte Themen