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
如何在VBA中使用子字符串?(将字符串转换为带子字符串的十进制)_Vba_String_Type Conversion_Format - Fatal编程技术网

如何在VBA中使用子字符串?(将字符串转换为带子字符串的十进制)

如何在VBA中使用子字符串?(将字符串转换为带子字符串的十进制),vba,string,type-conversion,format,Vba,String,Type Conversion,Format,我试图从Excel表格中的单元格中提取字符串,并将其转换为双精度。之后,我想将Double格式化为货币,并删除货币符号 不幸的是,我总是犯错误 运行时错误424:需要对象 如果能提出更好的解决方案,我将不胜感激。我所需要的只是一个(理论上)没有货币符号的价格输出。VBA没有名为SubString()的字符串函数。。使用Right(str)、Mid(str)或Left(str) 正如@YowE3K在评论中提到的,答案如下: price\u right\u str=Mid(price\u right

我试图从Excel表格中的单元格中提取字符串,并将其转换为双精度。之后,我想将Double格式化为货币,并删除货币符号

不幸的是,我总是犯错误

运行时错误424:需要对象


如果能提出更好的解决方案,我将不胜感激。我所需要的只是一个(理论上)没有货币符号的价格输出。

VBA没有名为
SubString()的字符串函数。
。使用
Right(str)
Mid(str)
Left(str)

正如@YowE3K在评论中提到的,答案如下:
price\u right\u str=Mid(price\u right\u str,2)
price\u right\u str=Left(price\u right\u str,Len(price\u right\u str)-1)
作为字符串结束函数@Z3RP-然后使用
子字符串(1,(Len(preis_right_str)-1))
而不是
preis.Substring(1,(Len(preis_right_str)-1))
@YowE3K程序如何知道我要使用哪个字符串?@Z3RP-啊-函数做什么?请出示密码。这是马克蒂的职责吗?BITE geben Sie den代码。@Z3RP-该函数根本不起任何作用。我想你只需要使用
preis\u right\u str=Mid(preis\u right\u str,2)
preis\u right\u str=Left(preis\u right\u str,Len(preis\u right\u str)-1)
65,5,我想要像:65,00;65,50Try
preis_right\u str=Format(ActiveSheet.Cells(a,b_new).Value,“0.00”)
你已经解决了我的问题,但我测试它也很好,谢谢你的帮助^^@Z3RP请用英语提问,否则问题将被关闭。
Dim price_right_str As String
Dim price_right As Double


price_right_str = ActiveSheet.Cells(a, b_new).Value
price_right = CDbl(Val(price_right_str))
price_right_str = FormatCurrency(price_right, 2)
price_right_str = price.Substring(1, (Len(price_right_str) - 1))