Excel 在一个范围内设置单元格的值

Excel 在一个范围内设置单元格的值,excel,runtime-error,vba,Excel,Runtime Error,Vba,我遇到运行时错误91、对象变量或块变量未设置的问题。我正在尝试写入范围内的单元格。下面是我的最新代码,以及我尝试过的各种方法 使用.Value不起作用,.Cells1,1.Value也不起作用,也没有设置.Cells1,1.Value。我不太清楚我在这里遗漏了什么 我试图写的值偶尔会通过,但我想确切地知道我做错了什么,这样我就可以防止将来发生这种情况 谢谢 有问题的代码,ElseIf是它挂断的地方。If可能有问题,也可能没有问题 Private Sub IncrementSPN() I

我遇到运行时错误91、对象变量或块变量未设置的问题。我正在尝试写入范围内的单元格。下面是我的最新代码,以及我尝试过的各种方法

使用.Value不起作用,.Cells1,1.Value也不起作用,也没有设置.Cells1,1.Value。我不太清楚我在这里遗漏了什么

我试图写的值偶尔会通过,但我想确切地知道我做错了什么,这样我就可以防止将来发生这种情况

谢谢

有问题的代码,ElseIf是它挂断的地方。If可能有问题,也可能没有问题

Private Sub IncrementSPN()

    If Not tempSPNRange Is Nothing And Not isDuplicate Then
        ' Increment appropriate SPN family
        tempSPNRange.Value = tempSPN + 1
    ElseIf tempSPNRange Is Nothing And Not isDuplicate Then
        ' Don't increment anything, silly!
        Set tempSPNRange.Cells(1, 1).Value = tempSPNRange.Cells(1, 1).Value + 1
    End If
End Sub

如果tempSPNRange已被设置为一个范围,则在ElseIf中,如果需要将其设置为工作表中的一组单元格,然后可以将值分配给该组中的单元格。

您试图实现什么?在这种特殊情况下,它会查看单元格。如果有一个值,它将递增该值。如果没有值,它会将另一个单元格的值放入其中,并将其递增。我使用范围,因为它可以是三个需要递增的单元格之一,这取决于其他因素。所有变量都是全局变量,并在其他函数中赋值。这基本上是userform完成之前的最后一个子运行;如果不需要递增,则为Nothing,如果需要递增,则为另一个范围+偏移。当它进入这个Sub时,它应该是一个我可以读/写值的范围。它现在似乎在工作;我想我没有使用的isDuplicate变量是把它扔掉了。如果我在测试时发现任何问题,我会发回。。。