Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 将单元格值用作字符串VBA_String_Vba_Excel - Fatal编程技术网

String 将单元格值用作字符串VBA

String 将单元格值用作字符串VBA,string,vba,excel,String,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) & %" 函数Left和Right将“A2”视为字符串 如何从单元格中提取

单元格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”视为字符串


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

问题在于“”之间的所有内容都定义了一个字符串。 您可以按如下方式键入代码:

Range("B2").Value = "AJ " & Left(Range("A2"), 2) & Right(Range("A2"), 2) & "%"
将代码缩进4个空格,使其格式正确


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

=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"), "-", "") & "%"

如果您在VBA中检查我的代码,它将按预期工作(as+可以连接而无需使用符号)。任何一种方法都有效。
类型不匹配
@cmbarnett87如果要连接的任何一项都是数字,则vba将尝试将数字添加到文本字符串中,您将获得类型不匹配。如果两个都是字符串,那么是的,它工作,但是
&
将同时工作数字和字符串。因此,为了避免混淆和错误,人们普遍认为应该使用
&
而不是
+
进行连接。我想我可能没有注意到他的示例中有双引号(我假设他也放在单元格中?)。当我在Excel中测试它时,我没有遇到+或&-的任何问题,这是没有双引号的。
Range("B2") = "AJ " & Replace(Range("A2"), "-", "") & "%"