2014-09-04 98 views
0

我正在嘗試整理需要轉換爲不同格式的清單。 想知道,有沒有辦法找到一組空白單元格並使用VBA刪除它們?堆疊時刪除分組的空白單元格

的文件看起來是這樣的:

name 
address 
address 
region 
-blank line- 
-blank line- 
-blank line- 
Name 
Address 
Address 
Region 
-blank line etc 

我想什麼東西刪除了分組的空白單元格。我有的問題是有時地址欄中的一個是空白的,(一個空白行),所以我不能只使用Go to > Special...

我會喜歡的是,如果我可以制定出如何讓VBA運行列,挑選一組3個或更多的空白單元格,並刪除整個行。 這可能嗎?

乾杯,奈傑爾。

回答

0

你總是可以做這樣的事情:

Sub DeleteBlanks() 
    Dim TotalRows As Long 
    Dim i As Long 
    Dim j As Long 

    TotalRows = Rows(Rows.Count).End(xlUp).Row 

    For i = TotalRows To 2 Step -1 
     'Check if there is more than one blank cell 
     If Cells(i, 1).Value = "" And Cells(i - 1, 1).Value = "" Then 

      'Count the number of cells that are blank 
      Do While Cells(i - j, 1).Value = "" 
      If i - j <= 1 Then 
       Exit Do 
      End If 
       j = j + 1 
      Loop 

      'Delete group of blank of cells 
      If i - j <= 1 Then 
       Rows(i & ":" & i - j).Delete 
      Else 
       Rows(i & ":" & i - j + 1).Delete 
      End If 

      j = 0 
     End If 
    Next 
End Sub 
+0

感謝您的幫助。 Doesent似乎工作。我可以得到上述只在列D上運行嗎? – 2014-09-04 08:50:04

+0

它適用於列A並刪除整行。你可以很容易地改變它。只需將單元格中的1修改爲正確的列號,將總行數更改爲檢查列D而不是A,並且可以將rows.delete更改爲cells.delete – Ripster 2014-09-04 09:14:14