不知道如何使用vba在不同的单元格中添加和分割单元格和输出

时间:2016-02-25 16:49:06

标签: excel vba excel-vba

获取错误运行时错误' 1004' :方法'范围'对象' _Global'失败

我正在尝试用excel写一个vba解决方案而且似乎不知道我做错了什么,我试图查找解决方案,但我只是一直在收到错误。下面是我的代码,excel给出了一个以Range开头的第二行的错误,但我不知道为什么。正如你可以看到的那个公式,我想要做的是将一些单元格的值相加并除以另一个单元格然后将结果输出到另一个单元格中,但我想我不知道如何做到这一点。任何帮助将不胜感激。谢谢!

Dim i As Integer

For i = 19 To 49

If Cells(i, 26) > 499999 Then
    Cells(3, 27) = 499999
ElseIf Cells(i, 26) < 499999 Then
    Cells(3, 27) = Cells(i, 26)
End If

If Cells(3, 27) < 499999 Then
     Cells(5, 27) = 0
ElseIf Cells(i, 26) > 999999 Then
    Cells(4, 27) = 500000
ElseIf Cells(i, 26) < 999999 Then
    Cells(4, 27) = Cells(i, 26) - 499999
End If

If Cells(4, 27) = 0 Then
     Cells(5, 27) = 0
ElseIf Cells(i, 26) > 1999999 Then
    Cells(5, 27) = 1000000
ElseIf Cells(i, 26) < 1999999 Then
    Cells(5, 27) = Cells(i, 26) - 999999
End If

If Cells(5, 27) = 0 Then
     Cells(6, 27) = 0
ElseIf Cells(i, 26) > 4999999 Then
     Cells(6, 27) = 3000000
ElseIf Cells(i, 26) < 4999999 Then
    Cells(6, 27) = Cells(i, 26) - 1999999
End If

If Cells(6, 27) = 3000000 Then
     Cells(7, 27) = Cells(3, i) - 4999999
ElseIf Cells(6, 27) < 3000000 Then
     Cells(7, 27) = 0
End If

Range(i, 30).Value = (Cells(3, 28) + Cells(4, 28) + Cells(5, 28) + Cells(6, 28) + Cells(7, 28)) / Cells(i, 26)

Next i

2 个答案:

答案 0 :(得分:0)

尝试范围(单元格(i,30))。最后一行的值。

答案 1 :(得分:0)

代码“Range(i,30).Value”是问题所在 范围不止一个单元格。 Oligg的答案是正确的,然而,Range不能只用一个单元作为参数。

 Range(Cells(i,30),Cells(i,30)).value

应该适合你。我会对Oliggs的回答发表评论,但不幸的是,我缺乏在这里相当新的声誉。