使用单元格值作为字符串VBA

时间:2018-07-05 13:34:44

标签: string vba excel-vba excel

单元格A2包含值“ 25-86”。

我需要单元格B2的值为“ AJ 2586%”

此代码显示语法错误:

Range("B2").Value = "AJ & Left(Range("A2"), 2) & Right(Range("A2"), 2) & %"

如果我这样写

Range("B2").Value = "AJ & Left(A2, 2) & Right(A2, 2) & %"

函数LeftRight将“ A2”视为字符串。

如何从单元格中提取一部分文本并将其输入另一个单元格中?

3 个答案:

答案 0 :(得分:8)

问题在于“”之间的所有内容都定义了一个字符串。 您可以这样输入代码:

Range("B2").Value = "AJ " & Left(Range("A2"), 2) & Right(Range("A2"), 2) & "%"

答案 1 :(得分:2)

以下公式将以实际百分比形式返回值,您可以在计算中使用该值。
它只是从图中删除了-

=SUBSTITUTE(A2,"-","")/100  

最初,它将显示为25.86

当您应用自定义号码格式

\AJ 0%  

然后它将显示为AJ 2586%

如果该公式位于A1中,则=A1/2将返回AJ 1293%

修改:
刚刚意识到您想要在VBA中使用它:

Range("B2") = Replace(Range("A2"), "-", "") / 100
Range("B2").NumberFormat = "\AJ 0%"

或者,如果您只想将其作为文本:

Range("B2") = "AJ " & Replace(Range("A2"), "-", "") & "%"

答案 2 :(得分:1)

Range("B2").Value = "AJ " + Left(Range("A2"), 2) + Right(Range("A2"), 2) + "%"
  

缩进代码4个空格,以使其具有正确的格式