2017-10-04 9 views
0

私はあなたの助けが必要です。次のコードに問題があります。ユーザーが入力したすべての値を別のセルに書きたいのですが、Private Sub CommandButton1_Click() 3つしか書きませんが、でも拳値が表示されていることを行う'T、のみエラーが表示されます。ループ内のテキストボックス値

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

あなたはあなたのケースについての専門家であり、あなたはそれについてのすべてを知っています。他の人もそれを十分に知っているとは思わないでください。 より具体的で詳細をお聞かせください:あなたは何を達成したいですか?何が今働いていますか?それはうまくいかないのですか?エラーメッセージとは何ですか? – peakpeak

答えて

0

あなたはこのようなコードが生成したコントロールに対処する必要がありますので、以下は動作するはずControls.Item("ControlName").Value

を:

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 

さらに、Textbox.Nameプロパティの設定は冗長です。
は、この行は必要ありません。

.Name = "TxtBx" & NL 
関連する問題