0

2 つの列を合計し、新しい行の各列の下に合計を配置することになっているスマートリストと Excel マクロ対応ワークブックを作成しました。Excel からは完全に機能しますが、GP Smartlist エクスポートから実行すると、列が 2 回合計されます。最初にそれらを正しく合計すると、合計が得られ、それが合計に追加され、まったく別の行で元の合計の 2 倍になります。

2 つの合計セル

これが私のコードです:

Private Sub sumColumns()
    Dim i As Integer
    Dim sum1 As Double
    Dim sum2 As Double
    Dim lastRow As Integer
    Dim counter As Integer: counter = 0
    'ActiveSheet.UsedRange

    If ThisWorkbook.Sheets(2).Cells(1, 1).Value2 = "" Then
        ThisWorkbook.Sheets(2).Cells(1, 1).Value2 = GetLastRowOnSheet(ThisWorkbook)
        lastRow = ThisWorkbook.Sheets(2).Cells(1, 1).Value2
    Else
        Exit Sub
    End If


    For i = 2 To lastRow
         sum1 = sum1 + ThisWorkbook.Sheets(1).Cells(i, 11).Value2
         sum2 = sum2 + ThisWorkbook.Sheets(1).Cells(i, 12).Value2
    Next i


    ThisWorkbook.Sheets(1).Cells(lastRow + 2, 11).Value2 = sum1
    ThisWorkbook.Sheets(1).Cells(lastRow + 2, 12).Value2 = sum2

    End Sub

    Function GetLastRowOnSheet(ByVal book As Workbook) As Long
        Dim lastRow As Long
        With ActiveSheet
            GetLastRowOnSheet = Sheets(1).Cells(1048576, 11).End(xlUp).Row
        End With
    End Function

GP がマクロを 2 回実行していることは比較的確かですが、誰かがこれを理解するのを手伝ってくれれば、それは素晴らしいことです。

4

0 に答える 0