首页 > 解决方案 > 如何在excel VBA中计算一整行数字(暗淡为字符串)?

问题描述

我有一个由 for 循环计算产生的数字列表

Dim nextcell as String

字符串 nextcell 的值是3, 4, 5, 2, 7, 8,如何添加语句来获取数字列表4, 5, 6, 3, 8, 9(全部加 1)或6, 8, 10, 4, 14, 16(全部乘以 2)?

我在想类似的东西

Dim nextcell as String
Dim nextcell2 as String

nextcell2 = nextcell * 2
nextcell2 = nextcell - 1

但似乎 VBA 不将其读取为字符串

标签: excelvba

解决方案


我认为你希望这里有太多的魔法。你开始的变量是一个字符串,你不能用字符串做数学运算(除非它们碰巧是有效数字,而数字列表不是)。相反,您必须将其拆分为一个数组(使用Split)并分别处理每个条目。完成后,您将不得不再次组装它,使用Join.

Dim nextcell As String
Dim nextcell2 As String

nextcell = "3, 4, 5, 2, 7, 8"

Values = Split(nextcell, ", ")
For i = LBound(Values) To UBound(Values)
    Values(i) = Values(i) + 1
Next
nextcell2 = Join(Values, ", ")

循环从数组的For开头开始,并使用其索引处理每个条目。


推荐阅读