String 使用For循环从Excel VBA中的多个文本框中获取值

String 使用For循环从Excel VBA中的多个文本框中获取值,string,excel,vba,for-loop,String,Excel,Vba,For Loop,对于Excel中的VBA代码(不是用户表单),我有4个名为TextBox1到TextBox4的文本框 我想使用for循环从这些文本框中获取值。目标是在相应的列中搜索一个值(本例中为D)。因此,我在所选工作表中搜索(以updatemboBox中的所选值命名)。为了能够搜索,我首先选择与相关焊接文本框\u I中显示的焊接对应的行号。此值与其他输入框不同 下面的代码是错误的。它创建一个带有for循环的字符串:TextBox1。但它会开始在列D中搜索字符串TextBox1,而不是此文本框中显示的值。如果

对于Excel中的VBA代码(不是用户表单),我有4个名为
TextBox1
TextBox4
的文本框

我想使用for循环从这些文本框中获取值。目标是在相应的列中搜索一个值(本例中为
D
)。因此,我在所选工作表中搜索(以
updatemboBox
中的所选值命名)。为了能够搜索,我首先选择与
相关焊接文本框\u I
中显示的焊接对应的行号。此值与其他输入框不同

下面的代码是错误的。它创建一个带有for循环的字符串:
TextBox1
。但它会开始在列
D
中搜索字符串
TextBox1
,而不是此文本框中显示的值。如果我使用
Weld=Textbox1.Value
代码工作,但只适用于
Textbox1
当然

Sub RelatedWeldNegative ()

Dim Weld As String
Dim Bmin As Integer
Dim Bmax As Integer 
Dim i As Integer
For i = 1 To 4`

Weld = "Textbox" & i & ".Value"
        For Each Cell In ActiveWorkbook.Sheets(UpdateComboBox.Value).Range("C2:C320")
           If Cell.Text = Weld Then
            SelecRow = Cell.Row
            End If
Next

Next i
Bmax = 6
Bmin = ActiveWorkbook.Sheets(UpdateComboBox.Value).Cell(SelecRow, "D")
'follow up with code
End Sub
提前感谢,


Miriam

以下是如何循环文本框:

Sub dural()
    For i = 1 To 4
        ActiveSheet.Shapes("TextBox " & i).Select
        MsgBox Selection.Characters.Text
    Next i
End Sub
另一种方式

Sub Sample()
    Dim shp As Shape
    Dim i As Long

    For i = 1 To 4
        Set shp = ActiveSheet.Shapes("TextBox" & i)

        Debug.Print shp.OLEFormat.Object.Object.Text
    Next i
End Sub

以下是如何在文本框上循环:

Sub dural()
    For i = 1 To 4
        ActiveSheet.Shapes("TextBox " & i).Select
        MsgBox Selection.Characters.Text
    Next i
End Sub
另一种方式

Sub Sample()
    Dim shp As Shape
    Dim i As Long

    For i = 1 To 4
        Set shp = ActiveSheet.Shapes("TextBox" & i)

        Debug.Print shp.OLEFormat.Object.Object.Text
    Next i
End Sub

以下是如何在文本框上循环:

Sub dural()
    For i = 1 To 4
        ActiveSheet.Shapes("TextBox " & i).Select
        MsgBox Selection.Characters.Text
    Next i
End Sub
另一种方式

Sub Sample()
    Dim shp As Shape
    Dim i As Long

    For i = 1 To 4
        Set shp = ActiveSheet.Shapes("TextBox" & i)

        Debug.Print shp.OLEFormat.Object.Object.Text
    Next i
End Sub

以下是如何在文本框上循环:

Sub dural()
    For i = 1 To 4
        ActiveSheet.Shapes("TextBox " & i).Select
        MsgBox Selection.Characters.Text
    Next i
End Sub
另一种方式

Sub Sample()
    Dim shp As Shape
    Dim i As Long

    For i = 1 To 4
        Set shp = ActiveSheet.Shapes("TextBox" & i)

        Debug.Print shp.OLEFormat.Object.Object.Text
    Next i
End Sub

什么样的文本框?有不止一种类型,它们的访问方式与VBA有所不同。你能准确地描述一下它们是如何被创造出来的吗。请看它演示了如何迭代表单和ActiveX控件什么样的文本框?有不止一种类型,它们的访问方式与VBA有所不同。你能准确地描述一下它们是如何被创造出来的吗。请看它演示了如何迭代表单和ActiveX控件什么样的文本框?有不止一种类型,它们的访问方式与VBA有所不同。你能准确地描述一下它们是如何被创造出来的吗。请看它演示了如何迭代表单和ActiveX控件什么样的文本框?有不止一种类型,它们的访问方式与VBA有所不同。你能准确地描述一下它们是如何被创造出来的吗。请看它演示了如何在表单和ActiveX控件+1上进行迭代,我想您在
“TextBox”中有一个额外的空间
而且您也不需要选择它:)我把多余的空间放进去了,因为在我的系统上,Insert会自动用多余的空间命名它们…………很高兴看到一种不用选择的方式来获取文本…………谢谢!啊好的。在我的工作表上,它没有插入空格:)+1我想你在
“TextBox”
中有一个额外的空格,你也不需要选择它:)我把额外的空格放进去,因为在我的系统上,insert会自动用额外的空格命名它们…………很高兴看到一种不用选择的方式来获取文本…………谢谢!啊好的。在我的工作表上,它没有插入空格:)+1我想你在
“TextBox”
中有一个额外的空格,你也不需要选择它:)我把额外的空格放进去,因为在我的系统上,insert会自动用额外的空格命名它们…………很高兴看到一种不用选择的方式来获取文本…………谢谢!啊好的。在我的工作表上,它没有插入空格:)+1我想你在
“TextBox”
中有一个额外的空格,你也不需要选择它:)我把额外的空格放进去,因为在我的系统上,insert会自动用额外的空格命名它们…………很高兴看到一种不用选择的方式来获取文本…………谢谢!啊好的。在我的工作表上,它没有插入空格:)