我正在从文本文件中读取数据,并且试图将其格式化以匹配单元格的“已定义名称”。定义的名称为89NL_10ETH_A
,字符串为89NL 10ETH A
,但后跟一串空格。我使用Replace()
将空格转换为“ _”,但末尾的所有空格都转换为下划线。记住您Trim()
由于固定长度而无法工作,我该如何缩小固定长度的空间?
这是我目前的做法
getProduct = Replace(Replace(Mid(Ln, 40, 24), "#", ""), "%", "")
答案 0 :(得分:2)
Trim
之前Replace
:
Sub TrimTest()
Dim InputString As String
InputString = " 89NL 10ETH A "
Debug.Print Replace$(Trim$(InputString), " ", "_")
End Sub
Trim
从" 89NL 10ETH A "
的开头和结尾"89NL 10ETH A"
中删除空格,因此可以用下划线"89NL_10ETH_A"
代替中间的空格。
答案 1 :(得分:1)
如@AndyG所述,您可以将Replace()与Trim()一起使用。
您可以将其与文本字符串一起使用
getProduct = Replace(Trim("89NL 10ETH A "), " ", "_")
MsgBox getProduct
或者,带有单元格值
getProduct = Replace(Trim(Range("A1").Value), " ", "_")
MsgBox getProduct
答案 2 :(得分:0)
这种方式可以正常工作:
Sub Test()
Dim STR As String, arrSTR
STR = "89NL 10ETH A "
arrSTR = Split(Application.Trim(STR), " ")
MsgBox Join(arrSTR, "_")
End Sub