使用FormulaR1C1,VBA向左找空

时间:2015-12-22 14:19:34

标签: excel vba excel-vba

我目前有一段VBA代码,用于查找左侧的前两个字符:

Range("EB5").Select
ActiveCell.FormulaR1C1 = "=LEFT(Input!R[-2]C[-92],2)"
Range("EB5").Select
Selection.AutoFill Destination:=Range("EB5:EB" & rownumfinal)

但是我希望这能找到左边的字符,直到有空格。

有人可以建议如何做到吗?

1 个答案:

答案 0 :(得分:5)

不要将2硬编码为LEFT函数的第二个参数,而是使用FIND函数:

"=LEFT(Input!R[-2]C[-92],FIND("" "",Input!R[-2]C[-92])-1)"

此外,learn to avoid Select。这通常是不必要的,也是错误的主要原因。

我认为您的代码可以简化为单个语句:

Range("EB5:EB" & rownumfinal).FormulaR1C1 = _
    "=LEFT(Input!R[-2]C[-92],FIND("" "",Input!R[-2]C[-92])-1)"