Article ID: 184378 - Last Review: June 17, 2005 - Revision: 2.0 XL98: How to Delete Cells with a For Each...Next LoopThis article was previously published under Q184378 For a Microsoft Excel 2002 version of this article, see 291300
(http://support.microsoft.com/kb/291300/EN-US/
)
.
For a Microsoft Excel 2000 version of this article, see 213544 (http://support.microsoft.com/kb/213544/EN-US/ ) . For a Microsoft Excel 97 version of this article, see 159915 (http://support.microsoft.com/kb/159915/EN-US/ ) . On This PageSUMMARY
The way that Microsoft Excel 98 Macintosh Edition deletes cells in a For
Each...Next loop in a Microsoft Visual Basic for Applications Sub procedure
differs from the way that earlier versions of Microsoft Excel delete cells.
This article describes the differences and includes a Visual Basic Sub
procedure example that deletes cells in a loop.
MORE INFORMATIONMicrosoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. Typing Sample DataTo use the macro in this article, type the following sample data in a worksheet:A1: a B1: 1 A2: b B2: 2 A3: x B3: 3 A4: x B4: 4 A5: c B5: 5 A6: x B6: 6 A7: d B7: 7 A8: x B8: 8 A9: x B9: 9 A10: e B10: 10 Typing the Sample MacroIn a new macro module, type the following macro:Behavior of the Sample Macro in Microsoft Excel 98When you run the macro DeleteCells in Microsoft Excel 98, only rows 3, 6, and 8 are deleted. Although rows 4 and 9 contain an "x" in column A, the macro does not delete the rows. The results of running the macro in Microsoft Excel 98 are the following:A1: a B1: 1 A2: b B2: 2 A3: x B3: 4 A4: c B4: 5 A5: d B5: 7 A6: x B6: 9 A7: e B7: 10 Behavior of the Sample Macro in Microsoft Excel 5.0When you run the macro DeleteCells in Microsoft Excel 5.0, the macro deletes all rows that contain an "x." The results of the macro in Microsoft Excel 5.0 are the following:A1: a B1: 1 A2: b B2: 2 A3: c B3: 5 A4: d B4: 7 A5: e B5: 10 Recommended Method for Using a Loop to Delete CellsUse the following macro when you want to use a loop to delete cells:A1: a B1: 1 A2: b B2: 2 A3: c B3: 5 A4: d B4: 7 A5: e B5: 10 Additional Method for Using a Loop to Delete CellsThis is an alternate method to the method shown above. It produces the same results.REFERENCES
For more information about looping in a macro, from the Visual Basic
Editor, click the Office Assistant, type looping, click Search, and then
click to view "Looping Through Code."
NOTE: If the Assistant is hidden, click the Office Assistant button on the Standard toolbar. If the Assistant is not able to answer your query, please see the following article in the Microsoft Knowledge Base: 176476
(http://support.microsoft.com/kb/176476/EN-US/
)
OFF: Office Assistant Not Answering Visual Basic Questions
| Article Translations
|

Back to the top
