Excel 循环浏览所有工作表,并在每个工作表的底部添加总和/公式

Excel 循环浏览所有工作表,并在每个工作表的底部添加总和/公式,excel,vba,Excel,Vba,我正在研究一个宏,它有两个功能。首先,它将数据拆分为多个工作表(每个工作表基于特定列的值)。其次,它将循环遍历所有表,并在每个表的底部添加特定的总和和公式 我发现了一个非常有用的代码来拆分工作表,我稍微修改了一下,效果很好。我还发现了另一段代码,它将循环遍历文档中的所有工作表。我只是不知道如何在每张表的末尾添加必要的总和/公式字段 在图纸中循环的代码如下: Sub WorksheetLoop2() ' Declare Current as a worksheet object v

我正在研究一个宏,它有两个功能。首先,它将数据拆分为多个工作表(每个工作表基于特定列的值)。其次,它将循环遍历所有表,并在每个表的底部添加特定的总和和公式

我发现了一个非常有用的代码来拆分工作表,我稍微修改了一下,效果很好。我还发现了另一段代码,它将循环遍历文档中的所有工作表。我只是不知道如何在每张表的末尾添加必要的总和/公式字段

在图纸中循环的代码如下:

  Sub WorksheetLoop2()

     ' Declare Current as a worksheet object variable.
     Dim Current As Worksheet

     ' Loop through all of the worksheets in the active workbook.
     For Each Current In Worksheets

        ' Insert your code here.
        ' This line displays the worksheet name in a message box.
        MsgBox Current.Name
     Next

  End Sub
因此,在“在此处插入代码”部分中,我需要以下代码:

  • 查找工作表上的最后一行数据
  • 从那里往下走一两排
  • 在A列中添加一个标签,仅显示“总分”
  • 在B列中,创建一个单元格,将H列中的所有值相加
  • 我想如果我能做到这一点,我就能解决剩下的问题


    任何帮助或建议都将不胜感激。非常感谢

    我建议您分别搜索问题的每一部分,而不是试图立即找到完整的解决方案。下面是我在搜索您的每个问题后找到的各种解决方案

    这将找到A列中的最后一行,向下两行,并将标签作为总分

    Range("A" & Rows.Count).End(xlup).Select
    lastRowInColA = Selection.Row
    totPointsRow = lastRowInColA + 2
    Range("A" & totPointsRow) = "Total Points"
    
    或者,您也可以使用Excel Developpor中的此提示

    Set rLastCell = ActiveSheet.Cells.Find(What:="*", After:=.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
    
    使用下面的代码段将所有数字添加到一列中

    columnSum = Application.WorksheetFunction.Sum(columns("H:H"))
    
    要将此总和放在“总分”行的B列中,请使用我以前使用的相同逻辑

    Range("B" & totalPointsRow) = columnSum