excel - 将范围中的特定单元格分配给变量 VBA
问题描述
有没有办法将特定单元格存储到 VBA 范围内的新变量中?我的意思是...
假设我已将以下数据设置为范围调用“数字”。
现在在 VBA 中,对于每一行,我想提取每个单独的单元格值并将每个值分配给不同的变量。然后再次重复下一行。
我基本上想使用给定行中的值来做某事,然后让它再次重复下一行。
这有意义吗???
这就是我一直在玩的......但我不知道如何将给定行中的每个单元格分配给新变量
Public Sub try()
Dim rng As Range
Dim row As Range
Dim cell As Range
Dim n As Double
Set rng = Range("numbers")
For Each row In rng.Rows
For Each cell In row.Cells
n = cell.value
Next cell
Next row
End Sub
解决方案
尝试这个:
Dim numberArray As Variant
' this line will assign numbers inside the range to an array
numberArray = Range("numbers").Value2
' now you are able to access all numbers in you range through this array, like this:
MsgBox numberArray(1, 1) 'it will show 1
您现在这样做的方式没有意义,因为您将所有值分配给一个 variable n
,因此在循环的每次迭代中,前一个值都会被覆盖,导致n
最后一个值在一个范围内,即3
.
推荐阅读
- c++ - 将 boost 函数与 boost 绑定与地图一起使用
- javascript - 如果所选选项的值动态更改,则选择标签值不会更新
- c# - 无法加载文件或程序集或其依赖项之一,错误消息正在更改
- apache-pulsar - 错误没有这样的文件或目录:_pulsar.so
- spring-boot - @ConditionalOnMissingBean 不能被覆盖
- android - 如何创建不同形状的浮动操作按钮
- firebase - Firebase Cloud Functions 调度程序位置
- python - 使用 PyWinAuto 返回所有桌面窗口
- ibm-mq - 是否可以将 MQ 与 Katalon 一起使用?
- spreadsheet - 通过 OnlyOffice API 更改电子表格单元格的格式