2

This is the function and it works without any problem

  1. Substitute all the occurence of char 160 in a cell with a null "".
  2. Trim any empty spaces.
  3. Concatenate the arrived number with char 160 again in the front.

act is the name of the referenced worksheet.

CAN anyone give a VB equivalent of this?

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

I have a telephone index with numbers on similiar lines for a match.

4

1 に答える 1

9

次のいずれかを使用できます

A. _ 数式として直接入力する

そのような場合は.Value.Formula

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

B. _ Use Application.Evaluatewhich を使用すると、持っているのと同じコードを使用できます

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

C VBA 関数を使用する

連結同等物は&

トリムTrim

代用Replace

シャアChr

RC[3]Range("D1")はそのような場合の右側の 3 番目のセルです。

したがって、上記は次のように記述できます。

Range("A1").Value = Chr(160) & _
                    Trim(Replace(Sheets(act).Range("D1").Value, Chr(160), ""))
于 2013-01-13T10:47:04.193 に答える