VB方法来实现这个excelfunction

这是function,它没有任何问题

  1. 用一个空的“”来代替所有在字符160中出现的字符。
  2. 修剪任何空的空间。
  3. 在前面再次用char 160 连接到达的号码。

act是被引用的工作表的名称。

任何人都可以给这个VB的等价物?

Range("a1").Value = "=+CONCATENATE(char(160),trim(substitute(" & act & "!RC[3],char(160),"""")))" 

我有一个电话号码,在相似的线路上进行匹配。

您可以使用以下任何一种( 未经testing

A。 直接input它作为一个公式

在这种情况下,您将用.Formulareplace.Value

 Range("A1").Formula = "=+CONCATENATE(char(160),trim(substitute(" & _ act & "!RC[3],char(160),"""")))" 

B。 使用Application.Evaluate这将让你使用你有相同的代码

 Range("A1").Value = Application.Evaluate("=CONCATENATE(char(160),trim(substitute(" & _ Sheets(act).Range("D1").Value & ",char(160),"""")))") 

C 使用VBAfunction

连接等价物是&

修剪Trim

替代Replace

CharChr

在这种情况下, RC [3]是右边的第三个单元格,即Range("D1")

所以上面可以写成

 Range("A1").Value = Chr(160) & _ Trim(Replace(Sheets(act).Range("D1").Value, Chr(160), ""))