【发布时间】:2015-05-05 10:25:15
【问题描述】:
假设在我的 Excel vba 代码中我需要一个单元格的值。我就是这样做的:
Range("A" & row).Value
我的问题是,当我在 Excel 工作表中添加一个新列时,我尝试获取的值现在位于 B 列中(因为我创建了一个新列 A)。
与
Range("A" & row).Value
我得到空值。我怎样才能自动获得我的正确值,现在在 B 列中?
【问题讨论】:
-
您可以对列使用标题。或者只是命名列。然后检查标题/列名以确定正确的列
-
按照你的做法,它总是被设置为
"A"。您可以做的是在行中有标题。然后使用一些 VBA 检查标题是否与您要查找的标题匹配并获取该列。然后在range.value中使用该列 -
如果您手动更改它,您可以使用
Range("A" & row + 1).Value -
@katz 会补偿新行,但不会补偿新列(作者要求的)
-
@EngJon 你是对的:
Range(Columns(1) & row).Value其中 1 代表 A 列