用VB方法实现这个excel函数



这是函数,它工作没有任何问题

  1. 用null "替换所有出现的char 160。
  2. 修剪任何空白。
  3. 到达的数字与char 160再次连接在前面。

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

谁能给出一个等价的VB ?

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

我有一个电话索引,上面有相似行的号码来匹配。

您可以使用以下任意

直接作为公式输入

在这种情况下,您将用.Formula替换.Value

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

使用Application.Evaluate,这将允许您使用与

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

C使用VBA函数

连接等价于&

修剪Trim

代替Replace

CharChr

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

所以上面的代码可以写成

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

最新更新