设置对单元格的引用,然后修改其内容
现在我正在打字:
ActiveCell.Offset(-1, 0) = ActiveCell.Offset(-1, 0) + 1
我非常希望设置一个单元格的引用并使用它,而不是每次inputActiveCell.Offset
。 我试图把它设置为一个叫做sick
的范围:
Dim sick As Range Set sick = ActiveCell.Offset(-1, 0)
但是当我说sick = sick + 1
时,它不起作用。 它说这是一个types不匹配。 为什么?
是的,这是因为病态是范围。 你可以使用如下的value属性来访问它的值:
sick.value = sick.value + 1
可能的原因是您的sick
单元格包含非数字types的数据,可能是string(即文本)。
我试过你的代码; sick = sick + 1
对我来说工作得很好 – 只要sick
细胞包含数字数据(或VBA可以解释的数据)。 但是,如果sick
包含string,我能够重现您的types不匹配错误。
请注意.Value
是Rangetypes的默认属性,所以
sick = sick + 1
完全等同于
sick.Value = sick.Value + 1
这两行可以互换使用。 有些人更喜欢后者,因为它更清楚你在做什么。 其他前者,因为它更简洁。 这完全是一个品味问题。