Excel删除所有空行600 000行并重新格式化

我有一个60万行的Excel文件。

它看起来像这样:

1 2 3 4 Value1: 1 5 Value2: 2 6 Value3: 3 7 8 9 10 Value1: 1 11 Value2: 2 12 Value3: 3 13 14 15 ... 599998: Value1: 1 599999: Value2: 2 600000: Value3: 3 

我的目标是删除所有的空行,并像这样的值:

  ABC 1 Value1 Value2 Value3 2 ... 

我试过select所有的行 – > F5特殊的“空值”,但它总是说“select太大”,即使像1000行…

任何人可以帮助我一点点,我会永远感谢!

提前谢谢了!

您只需将SheetName更改为数据所在工作表的名称即可:

  Set wS = ThisWorkbook.Sheets("SheetName") 

这将把所需的输出放在一个新的表格中:

 Sub testFrankLucas() Dim i As Long Dim LastRow As Long Dim wS As Worksheet Dim wsNew As Worksheet Dim DaTa() As Variant Set wS = ThisWorkbook.Sheets("SheetName") LastRow = LastRow_1(wS) ReDim DaTa(1 To 3, 1 To 1) For i = 1 To LastRow Step 6 With wS DaTa(1, UBound(DaTa, 2)) = .Cells(i, 1).Offset(3, 0) DaTa(2, UBound(DaTa, 2)) = .Cells(i, 1).Offset(4, 0) DaTa(3, UBound(DaTa, 2)) = .Cells(i, 1).Offset(5, 0) ReDim Preserve DaTa(LBound(DaTa, 1) To UBound(DaTa, 1), LBound(DaTa, 2) To UBound(DaTa, 2) + 1) End With 'wS Next i ReDim Preserve DaTa(LBound(DaTa, 1) To UBound(DaTa, 1), LBound(DaTa, 2) To UBound(DaTa, 2) - 1) Set wsNew = ThisWorkbook.Sheets.Add 'wsNew.Range("A1").Resize(UBound(DaTa, 2), UBound(DaTa, 1)).Value = Application.Transpose(DaTa) For i = LBound(DaTa, 2) To UBound(DaTa, 2) For j = LBound(DaTa, 1) To UBound(DaTa, 1) With wsNew .Cells(i, j).Value = DaTa(j, i) End With 'wsNew Next j Next i End Sub Public Function LastRow_1(wS As Worksheet) As Double With wS If Application.WorksheetFunction.CountA(.Cells) <> 0 Then LastRow_1 = .Cells.Find(What:="*", _ After:=.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row Else LastRow_1 = 1 End If End With End Function