如何在vba中向activecell添加+ 1

时间:2016-01-05 02:49:02

标签: vba excel-vba excel

我一直在运行时间13错误。所有我想做的事情为activecell添加1。

     dim rang as range
     rang = activecell + 1
     msgbox rang

3 个答案:

答案 0 :(得分:2)

您未设置rang参考。

Set rang = ActiveCell

一个问题。

您依赖隐式转化和默认属性,这使得理解发生的事情变得更加困难。

rang.Value = CLng(ActiveCell.Value) + 1
MsgBox rang.Value

如果出现运行错误13,那么ActiveCell.Value不是整数值。您无法合法地向String添加+1 ...或者使用错误值执行任何操作(包括仅仅比较)。在使用之前,使用IsError确定单元格是否包含您可以使用的值:

If Not IsError(rang.Value) Then
    MsgBox rang.Value
End If

答案 1 :(得分:1)

您想引用活动单元格的值,例如

rang = ActiveCell.Value + 1

编辑 - 运行时错误13是类型不匹配,基本上您尝试组合不兼容的数据类型(假设活动单元格包含数字,而不是格式化为文本的数字)。试试这个。

Dim rang as Integer
rang = ActiveCell.Value + 1
msgbox rang

您可以将格式化为文本的数字转换为数值,方法是复制包含其中一个的单元格,然后粘贴特殊值,然后选择乘法(假设内容作为数字有效)

答案 2 :(得分:1)

cbind(ll, unname(rr))

试试这个。这只会在当前值中加1。确保它不是活动单元格中的字符串值。希望这个帮助。