为什么此vba宏在if后面忽略该值?

时间:2019-01-25 17:47:12

标签: excel vba for-loop

我有两列,第一列是采用Year / Month格式的日期,另一列是我所做的评估的数值。我想获得一个宏每个月的平均值(我需要做很多次,很多数据就可以了)。因此,我决定创建一个日期数组和一个评估结果矩阵。目标是将所有数值按日期分组并获得每月的平均值。问题在于,当实际单元格和最后一个单元格不同时,此代码将忽略该值。

    Dim i As Integer 'number of rows
    Dim J As Integer 'manage row change
    Dim G As Integer 'manage column change
    Dim Fecha(48) As String
    Dim Matriz_FI(100, 100) As Double
    '--------------------------------------------------------------    --
    J = 0
    G = 0
    For i = 2 To 10
        If i = 2 Then
            Matriz_FI(J, G) = Sheets("Nueva Database").Cells(i, 11).Value
            Fecha(J) = Sheets("Nueva Database").Cells(i, 3).Value
            G = G + 1
        Else
            If (Sheets("Nueva Database").Cells(i, 3).Value = Sheets("NuevaDatabase").Cells(i - 1, 3).Value) Then
                'Column change in Matriz_FI
                Matriz_FI(J, G) = Sheets("Nueva Database").Cells(i, 11).Value
                G = G + 1
                MsgBox ("Same")
            Else
                'Row change in Matriz_FI
                J = J + 1
                Fecha(J) = Sheets("Nueva Database").Cells(i, 3)
                G = 0
                Matriz_FI(J, G) = Sheets("Nueva Database").Cells(i, 11).Value
                MsgBox ("Different")
            End If
        End If
    Next
End Sub

0 个答案:

没有答案