如何在vba中对数字列表求和?
我的Word宏中有一个vba函数,它以字符串形式返回逗号分隔的数字列表。比如,如何在vba中对数字列表求和?,vba,ms-word,Vba,Ms Word,我的Word宏中有一个vba函数,它以字符串形式返回逗号分隔的数字列表。比如, var = (1.5, 2, 3, 5) 我怎样把它们加起来才能算出总数呢 您需要将字符串拆分为字符串数组,使用Val、CDbl或CSng(根据您的要求)将每个子字符串转换为一个数字,然后添加数字 下面是一个例子: Dim inputStr As String inputStr = "1.5, 2, 3, 5" Dim arr() As String arr = Split(inputStr, ",") Dim
var = (1.5, 2, 3, 5)
我怎样把它们加起来才能算出总数呢 您需要将字符串拆分为字符串数组,使用
Val
、CDbl
或CSng
(根据您的要求)将每个子字符串转换为一个数字,然后添加数字
下面是一个例子:
Dim inputStr As String
inputStr = "1.5, 2, 3, 5"
Dim arr() As String
arr = Split(inputStr, ",")
Dim total As Single ' Or `Double` if you need more accuracy.
For Each subStr In arr
total = total + Val(subStr) ' Use `Val` if you want to ignore non-numeric values.
'total = total + CSng(subStr) ' Use `CSng` to break when finding non-numeric values.
'total = total + CDbl(subStr) ' Use `CDbl` if you need more accuracy.
Next
MsgBox total
您需要将字符串拆分为字符串数组,使用
Val
、CDbl
或CSng
(根据您的要求)将每个子字符串转换为一个数字,然后添加数字
下面是一个例子:
Dim inputStr As String
inputStr = "1.5, 2, 3, 5"
Dim arr() As String
arr = Split(inputStr, ",")
Dim total As Single ' Or `Double` if you need more accuracy.
For Each subStr In arr
total = total + Val(subStr) ' Use `Val` if you want to ignore non-numeric values.
'total = total + CSng(subStr) ' Use `CSng` to break when finding non-numeric values.
'total = total + CDbl(subStr) ' Use `CDbl` if you need more accuracy.
Next
MsgBox total
将“,”
替换为“+”
,并在字符串上使用计算公式。注意:必须创建对Excel实例的引用,至少可以说这有点繁重!我找不到一个与求值函数相对应的词,这似乎有点奇怪:
Option Explicit
Public Sub test()
Dim inputStr As String, oXL As Object
inputStr = "1.5, 2, 3, 5"
With CreateObject("Excel.Application")
MsgBox .Evaluate(Replace(inputStr, ",", "+"))
.Quit
End With
End Sub
将“,”
替换为“+”
,并在字符串上使用计算公式。注意:必须创建对Excel实例的引用,至少可以说这有点繁重!我找不到一个与求值函数相对应的词,这似乎有点奇怪:
Option Explicit
Public Sub test()
Dim inputStr As String, oXL As Object
inputStr = "1.5, 2, 3, 5"
With CreateObject("Excel.Application")
MsgBox .Evaluate(Replace(inputStr, ",", "+"))
.Quit
End With
End Sub
您需要将字符串拆分为字符串数组,使用Val
、CDbl
或CSng
(根据您的要求)将每个子字符串转换为一个数字,然后添加数字。您尝试过什么吗?您需要将字符串拆分为字符串数组,使用Val
、CDbl
或CSng
(根据您的要求)将每个子字符串转换为一个数字,然后添加数字。你试过什么吗?我喜欢@qharr。不幸的是,这是一个Word宏,而不是Excel。我引用了Excel。我承认有点粗暴@Cindymister-Word中是否有用于计算字符串的方法?目前似乎找不到。我喜欢@qharr。不幸的是,这是一个Word宏,而不是Excel。我引用了Excel。我承认有点粗暴@Cindymister-Word中是否有用于计算字符串的方法?目前似乎找不到。