当变量为空时组合字符串不带分隔符
问题描述:
我想将字符串组合成电子表格中的一行。我使用逗号作为我的分隔符。我怎么能这样,如果一个变量是空白不使用分隔符。这里是我的代码当变量为空时组合字符串不带分隔符
Concat = Join(Array(var1, var2, var3,` var4, var5), " ,")
ws.Range("CU" & i).Value2 = Concat
这里是返回结果的样本。
, , , ,
, ,Eligibility date , ,
我有VAR1,VAR2,VAR3 .....
我想知道我是如何摆脱逗号和空格,如果VAR1 =空白,VAR2 =空白等
答
只有5个变量,你可以轻松地蛮力:
Sub test()
Dim concat$, delimit$
Dim v1, v2, v3, v4, v5, val
v1 = ""
v2 = "adfadf"
v3 = "Eligibility"
v4 = ""
v5 = "floerg"
delimit = " ,"
For Each val in Array(v1,v2,v3,v4,v5)
If val <> "" Then
c = c & delimit & val
End If
Next
c = Right(c, Len(c) - Len(delimit))
Debug.Print c
End Sub
答
感谢您的答案!我修改了一下你的代码并得到了一个解决方案。 v1 - v5在回路中“回答”。
Dim v1 As String, v2 As String, v3 As String, v4 As String, v5 As String, delimit As String
Dim val As Variant
x = ""
v1 = ""
v2 = ""
v3 = ""
v4 = ""
v5 = ""
delimit = ","
For Each val In Array(v1, v2, v3, v4, v5)
If val <> "" Then
x = x & delimit & val
End If
Next
If x <> "" Then
x = Right(x, Len(x) - Len(delimit))
ws.Range("CU" & i).Value2 = x
End If
你可以为For/Each逻辑代替'Join'函数。此外,它是“分隔符”而不是“deliminator”:) –
您期望的结果是什么? –
谢谢。我希望它读取第二个条目的“资格日期” – Chris2015