excel - 如何在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 不将其读取为字符串
解决方案
我认为你希望这里有太多的魔法。你开始的变量是一个字符串,你不能用字符串做数学运算(除非它们碰巧是有效数字,而数字列表不是)。相反,您必须将其拆分为一个数组(使用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
开头开始,并使用其索引处理每个条目。
推荐阅读
- javascript - 引导表:服务器端分页参数未到达服务器
- javascript - 是否可以使用 JS 检查 CSV 文件的语法错误?
- ios - 传递到第二个 UIViewController 时无法保存或查看视频
- haproxy - Haproxy 检查是否只有键存在
- android - 如何将 RTF 转换为 android spannable?
- sql - MS SQL:如何从查找表中为每个外键对选择最近的记录
- javascript - 用 js 添加重复的 html 并评估 thymeleaf 表达式
- javascript - Webpack - AngularJS 应用程序无法在 IE11 上运行
- javascript - For-loop 仅适用于特定值
- session - 根据 ASP .NET MVC 5 中的用户角色显示按钮