文章編號: 213610 - 上次校閱: 2007年3月19日 - 版次: 5.0

如何在 Excel 工作表上進行隔列刪除

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
如需本文的 Microsoft Excel for the Macintosh 版本,請參閱 142528? (http://support.microsoft.com/kb/142528/ )
全部展開 | 全部摺疊

結論

本文包含一個範例 Microsoft Visual Basic for Applications 巨集,您可以使用此巨集在 Microsoft Excel 工作表上選定範圍內進行隔列刪除。

其他相關資訊

Microsoft 僅提供示範性的程式設計範例,不做任何明示或默示的保證。其中包括 (但不限於) 其適售性與適合某特定用途之默示擔保。本文將假設您已相當熟悉示範所使用的程式設計語言,以及用於建立和偵錯程序的工具。Microsoft 技術支援工程師可以協助說明特定程序的功能,但不會修改這些範例以提供附加功能或建構程序來滿足您的特定需求。 若要使用下列巨集,請將 Excel 活頁簿設定如下:
  1. 建立新的 Microsoft Excel 活頁簿。
  2. 在新工作表的範圍 A1:A9 中,每隔一列輸入 1 到 5 的數字,如下列範例所示:
    A1: 1
    A2:
    A3: 2
    A4:
    A5: 3
    A6:
    A7: 4
    A8:
    A9: 5
    					
  3. [工具] 功能表上,指向 [巨集],然後按一下 [Visual Basic 編輯器]

    請注意 在 Microsoft Office Excel 2007 中,按一下 [開發人員] 索引標籤上 [程式碼] 群組中的 [Visual Basic]
  4. [插入] 功能表上,按一下 [模組]
  5. 在新的模組中,輸入下列巨集:
    Sub Delete_Every_Other_Row()
    
       ' Dimension variables.
       Y = False              ' Change this to True if you want to
                              ' delete rows 1, 3, 5, and so on.
       I = 1
       Set xRng = Selection
    
       ' Loop once for every row in the selection.
       For xCounter = 1 To xRng.Rows.Count
    
           ' If Y is True, then...
           If Y = True Then
    
               ' ...delete an entire row of cells.
               xRng.Cells(I).EntireRow.Delete
    
           ' Otherwise...
           Else
    
               ' ...increment I by one so we can cycle through range.
               I = I + 1
    
           End If
    
           ' If Y is True, make it False; if Y is False, make it True.
           Y = Not Y
    
       Next xCounter
    
    End Sub
    						
  6. 切換至包含資料的工作表,然後選取範圍 A1:A9。
  7. 若要執行巨集,請指向 [工具] 功能表上的 [巨集],然後按一下 [巨集]

    請注意 在 Excel 2007 中,按一下 [開發人員] 索引標籤上 [程式碼] 群組中的 [巨集]
  8. 選取 [Delete_Every_Other_Row] 巨集,然後按一下 [執行]
此巨集會從選取範圍的第二列開始,進行隔列刪除。

請注意 如果您的資料清單包含多欄,請只選取第一欄的資料,然後執行巨集。

這篇文章中的資訊適用於:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
關鍵字:?
kbexpertisebeginner kbautomation kbmacro kbdtacode kbhowto kbprogramming KB213610
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。