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

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

我想使用for循环从这些文本框中获取值。 目标是在相应的列中search一个值(在这种情况下是D )。 因此,我在所选工作表中进行search(以UpdateComboBox的选定值命名)。 为了能够search,我首先select与RelatedWeldTextBox_i中显示的Weld相对应的RelatedWeldTextBox_i 。 这个值跟其他input框不同。

下面的代码是错误的。 它使用for循环创build一个String: TextBox1 。 但是它开始在stringTextBox1Dsearch,而不是在此文本框中显示的值。 如果我使用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 

提前致谢,

杨千嬅

以下是如何循环文本框:

 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