多个文本框到一个单元格中,如果第二个、第三个……文本框没有值,如何继续代码

Multiple textbox into one cell, How to if there are no values on 2nd, 3rd... textbox then continue code

我在一个用户窗体上有 4 个文本框。所有 4 个的值都转移到一个单元格中,由 break(Char(10)) 和前缀 "Error1:" 字符串分隔,但如果只有第一个文本框有值而其余为空,则另一个的前缀文本框出现在单元格上。我想知道是否可以跳过空文本框,而不是将它们的前缀转移到单元格。

我正在使用 If 语句和“&”将所有文本框添加到一个单元格中。

a = Error1Box.Value
b = Error2Box.Value
c = Error3Box.Value
d = Error4Box.Value
If a = "" Then
    'Do Nothing
Else
    Cells(emptyRow, 16).Value = "Error1: " & a & Chr(10) & "Error2: " & b & Chr(10) & "Errro3: " & c & Chr(10) & "Error4: " & d
End If

我预计: 如果只有 Error1Box 有值,那么单元格将为 Error1: description...

但我得到的是:

Error1: Description...
Error2:
Error3:
Error4:

因此,如果其余文本框为空,则除了具有值的文本框外,不会显示任何其他内容。

您可以遍历文本框并在适当的时候构建错误字符串:

Dim errString As String
Dim iTb As Long

For iTb = 1 To 4
    With Me.Controls("Error" & iTb & "Box")
        If .Value <> vbNullString Then errString = errString & Chr(10) & "Error" & iTb & ": " & .Value
    End With
Next
If errString <> vbNullString  Then Cells(emptyRow, 16).Value = Mid$(errString, 2)