請嘗試下面的代碼。 下面的代碼不會在創建總計摘要時插入類的名稱。 但是,如果您在所需的輸出中顯示的代碼將爲每個表創建摘要權限,前提是表單中每個表的右側有足夠的摘要空間,否則代碼將覆蓋任何數據(如果在該表中找到該數據)。
Sub InsertSummaryForEachTable()
Dim ws As Worksheet
Dim rng As Range
Dim i As Integer, c As Long
Application.ScreenUpdating = False
Set ws = ActiveSheet
For Each rng In ws.UsedRange.SpecialCells(xlCellTypeConstants, 3).Areas
If rng.Rows.Count > 1 And rng.Columns.Count = 4 Then
c = rng.Cells(1, rng.Columns.Count).Column + 2
Cells(rng.Rows(1).Row, c).Value = "Total"
For i = 2 To rng.Rows.Count
rng.Rows(i).Cells(1).Select
Cells(rng.Rows(i).Row, c) = rng.Rows(i).Cells(1)
Cells(rng.Rows(i).Row, c + 1) = "=SUM(" & rng.Rows(i).Address & ")"
Next i
End If
Next rng
Application.ScreenUpdating = True
End Sub
嗨@sktneer,我已經嘗試了上面的代碼,它不工作(使用舊錶)。工作表保持不變。此外,道歉沒有更新所需的輸出(正如我所提到的,我添加了上一個問題的一些列和行,然後嘗試從您的代碼更改,但嘗試失敗) – Santa
在每個表的周圍插入一個空行和一個空列該代碼將工作。該代碼假定每個表由一個空白行和一個空白列分隔。如果表格上方有一些文字,請插入一個空行。 – sktneer
hi @sktneer,我已經上傳了我現在在工作表上的輸出。我得到每個表的總數,但不是最後一列(使用前面提供的代碼)。我以爲我的列之間實際上有空白欄? – Santa