如何在VBA中使用子字符串?(将字符串转换为带子字符串的十进制)
我试图从Excel表格中的单元格中提取字符串,并将其转换为双精度。之后,我想将Double格式化为货币,并删除货币符号 不幸的是,我总是犯错误 运行时错误424:需要对象如何在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
如果能提出更好的解决方案,我将不胜感激。我所需要的只是一个(理论上)没有货币符号的价格输出。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,50Trypreis_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))