如何在列中的两个空白单元格列中的所有值?

我对Excel VBA是全新的,所以我很感激任何帮助。 我在Excel VBA中有以下代码,它在用特定条件过滤图表数据中的数据之后,在图纸输出中创build两个单独的表格。

Dim i, LastRow LastRow = Sheets("data").Range("B" & Rows.Count).End(xlUp).Row Sheets("output").Range("A2:L500").ClearContents Sheets("output").Range("A" & Rows.Count).End(xlUp).Offset(1) = "first table" For i = 2 To LastRow If Sheets("data").Cells(i, "G").Value > 0 And Sheets("data").Cells(i, "G").Value <= 2 Then Sheets("data").Cells(i, "G").EntireRow.Copy Destination:=Sheets("output").Range("A" & Rows.Count).End(xlUp).Offset(1) End If Next i Sheets("output").Range("A" & Rows.Count).End(xlUp).Offset(3) = "second table" For i = 2 To LastRow If Sheets("data").Cells(i, "G").Value > 2 And Sheets("data").Cells(i, "G").Value <= 3 Then Sheets("data").Cells(i, "G").EntireRow.Copy Destination:=Sheets("output").Range("A" & Rows.Count).End(xlUp).Offset(1) End If Next i End Sub 

我想要做的是给每个表的一些特定列(比如C列)的所有值的总和(分别为表1和分别为表2)。

无论您的表格之间是否有一个空格或五十个空格,此解决scheme都可以工作

 Sub SumTablesByColumn(sCol As String) Dim lLastRow As Long Dim x As Long Dim counter As Long Dim lStartRow As Long lStartRow = 1 counter = 1 lLastRow = ActiveSheet.Range(sCol & 500000).End(xlUp).Row For x = 1 To lLastRow + 1 If Range(sCol & x).Value <> "" And Range(sCol & x + 1).Value <> "" Then counter = counter + 1 ElseIf Range(sCol & x).Value <> "" And Range(sCol & x + 1).Value = "" Then Range(sCol & counter + 1).Formula = "=SUM(" & sCol & lStartRow & ":" & sCol & counter & ")" x = x + 1 If Range(sCol & x + 1).Value <> "" Then lStartRow = x + 1 counter = x + 1 End If ElseIf Range(sCol & x).Value = "" And Range(sCol & x + 1).Value <> "" Then lStartRow = x + 1 counter = x + 1 End If Next End Sub