我正在研究一个做两件事的宏。首先,它将数据将数据拆分为多张纸(根据特定列的值,每个纸张都会将数据分为多张纸)。其次,它将循环遍历所有床单,并在每张纸的底部添加一定的总和和公式。
我发现了一个非常有用的代码来拆分床单,这些床单会稍作修改并正常工作。我发现了另一个代码将循环浏览文档中的所有床单。我只是不确定如何将必要的总和/公式字段添加到每个纸的末端。
循环循环的代码是:
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 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