使用FormulaR1C1,VBA向左找空

JDR*_*ows 1 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)
Run Code Online (Sandbox Code Playgroud)

然而,我希望这能找到左边的字符,直到有空格.

任何人都可以建议如何做到这一点?

Dav*_*ens 5

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

"=LEFT(Input!R[-2]C[-92],FIND("" "",Input!R[-2]C[-92])-1)"
Run Code Online (Sandbox Code Playgroud)

另外,要学会避免Select.它通常是不必要的,也是错误的主要原因.

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

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