单元格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) & %"
函数Left
和Right
将“ A2”视为字符串。
如何从单元格中提取一部分文本并将其输入另一个单元格中?
答案 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个空格,以使其具有正确的格式