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



我正在研究一个做两件事的宏。首先,它将数据将数据拆分为多张纸(根据特定列的值,每个纸张都会将数据分为多张纸)。其次,它将循环遍历所有床单,并在每张纸的底部添加一定的总和和公式。

我发现了一个非常有用的代码来拆分床单,这些床单会稍作修改并正常工作。我发现了另一个代码将循环浏览文档中的所有床单。我只是不确定如何将必要的总和/公式字段添加到每个纸的末端。

循环循环的代码是:

  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

因此,在"在此处插入您的代码"部分,我需要代码:

  1. 在工作表上找到最后一行数据
  2. 从那里掉下一两排
  3. 在A列中添加一个标签,该标签刚刚说"总点"
  4. 在B列中制作一个单元格,该单元格总和列H
  5. 中的所有值总计

,我想我可以弄清楚其余的话。

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

我建议您分别搜索每个问题的问题,而不是尝试一次找到完整的解决方案。以下是我在搜索每个问题后发现的各种解决方案。

这将在A列中找到最后一行,然后向下下两个行,并将标签作为总点

Range("A" & Rows.Count).End(xlup).Select
lastRowInColA = Selection.Row
totPointsRow = lastRowInColA + 2
Range("A" & totPointsRow) = "Total Points"

另外,您可以使用Excel Developor的此技巧

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

最新更新