从#中删除字符以结束列的所有单元格(vba-EXCEL)
在Excel中,我有这些字段:
OOK: vpjsghe.fkds 2002 field1 Field2 # v2.0.11-28 OOK: vpjsghe.fkds 2002 field3 Field4 # v2.0.11-289 OOK: vpjsghe.fkds 2002 field5 Field6 # v2.0.11-101 OOK: vpjsghe.fkds 2002 field7 Field8 # v2.0.11-2892
我需要从#中删除文本,直到string的末尾有这个:
OOK: vpjsghe.fkds 2002 field1 Field2 OOK: vpjsghe.fkds 2002 field3 Field4 OOK: vpjsghe.fkds 2002 field5 Field6 OOK: vpjsghe.fkds 2002 field7 Field8
#只在每个字段中出现一次。
你可以用一个公式来做
=LEFT(A1,FIND("#",A1)-1)
A1是例如。 OOK: vpjsghe.fkds 2002 field1 Field2 # v2.0.11-28
但请注意,这会导致尾随空间。 要删除你可以使用TRIM()
或find一个空间FIND(" #",A1)
。
对于VBA代码,你可以使用类似的东西
left(sheets(1).range("A1").value,(instr(0,sheets(1).range("A1").value,"#",vbBinarycompare))-1)
function区中有一个内置的函数(数据 – >文本到列),这将允许您使用#作为分隔符并对其进行分割,然后删除不想要的列。 这比左边的公式容易,你不必search字符。