Vba excel как очистить столбец

Метод Range.Clear для полной очистки диапазона ячеек из кода VBA Excel. Методы очистки отдельных свойств и их групп в ячейках. Примеры использования.

Методы очистки ячеек

Метод Очищаемые свойства Примечание
Range.Clear Почти все свойства Ширина и высота ячеек не изменяются
Range.ClearComments Комментарии Для Excel в составе Office 365
Range.ClearContents Формулы и значения Исходное форматирование сохраняется
Range.ClearFormats Свойства, задающие форматы В том числе отмена объединения ячеек
Range.ClearHyperlinks Гиперссылки Текст и форматирование сохраняются
Range.ClearNotes Примечания и заметки Примечания – для локальных программ Excel, заметки – для Excel в составе Office 365
Range.ClearOutline Структура данных Смотрите, что такое структурирование данных

Range – выражение, возвращающее диапазон ячеек.

Примеры использования

1. Удаление гиперссылки из ячейки A1
Cells(1, 1).ClearHyperlinks

2. Очистка диапазона A1:L50 от формул и значений
Range("A1:L50").ClearContents

3. Очистка всех свойств ячеек в столбцах A:K
Columns("A:K").Clear

4. Очистка форматирования ячеек в строках 1:20
Rows("1:20").ClearFormats

Методы очистки диапазонов ячеек в VBA Excel возвращают очищаемые свойства ячеек к значениям по умолчанию. К таким, как на вновь созданном стандартном рабочем листе. При любых методах очистки высота строк и ширина столбцов не изменяются.


Фразы для контекстного поиска: очистка ячеек, очистка ячейки, очистка формул, очистка от формул, удаление формул, очистка значений, удаление значений, очистка форматов, удаление форматирования, удаление форматов.


In this Article

  • Delete Entire Row or Column
    • Delete Multiple Rows or Columns
  • Delete Blank / Empty Rows
    • Delete Row if Cell is Blank
  • Delete Row Based on Cell Value
  • More Delete Row and Column Examples
    • Delete Duplicate Rows
    • Delete Table Rows
    • Delete Filtered Rows
    • Delete Rows in Range
    • Delete Selected Rows
    • Delete Last Row
    • Delete Columns by Number

This tutorial will demonstrate different ways to delete rows and columns in Excel using VBA.

Delete Entire Row or Column

To delete an entire row in VBA use this line of code:

Rows(1).Delete

Notice we use the Delete method to delete a row.

Instead of referencing the Rows Object, you can reference rows based on their Range Object with EntireRow:

Range("a1").EntireRow.Delete

Similarly to delete an entire column, use these lines of code:

Columns(1).Delete
Range("a1").EntireColumn.Delete

Delete Multiple Rows or Columns

Using the same logic, you can also delete multiple rows at once:

Rows("1:3").Delete

or columns:

Columns("A:C").Delete

Notice here we reference the specific row and column numbers / letters surrounded by quotations.

Of course, you can also reference the EntireRow of a range:

Range("a1:a10").EntireRow.Delete

Note: The examples below only demonstrate deleting rows, however as you can see above, the syntax is virtually identically to delete columns.

Delete Blank / Empty Rows

This example will delete a row if the entire row is blank:

Sub DeleteRows_EntireRowBlank()

Dim cell As Range

For Each cell In Range("b2:b20")
    If Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Then
        cell.EntireRow.Delete
    End If
Next cell

End Sub

It makes use of the Excel worksheet function: COUNTA.

Delete Row if Cell is Blank

This will delete a row if specific column in that row is blank (in this case column B):

Range("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Delete Row Based on Cell Value

This will loop through a range, and delete rows if a certain cell value in that row says “delete”.

Sub DeleteRowswithSpecificValue()

Dim cell As Range

For Each cell In Range("b2:b20")
    If cell.Value = "delete" Then
        cell.EntireRow.Delete
    End If
Next cell

End Sub

More Delete Row and Column Examples

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!

automacro

Learn More

Delete Duplicate Rows

This code will delete all duplicate rows in a range:

Range("b2:c100").RemoveDuplicates Columns:=2

Notice we set Columns:=2. This tells VBA to check both the first two columns of data when considering if rows are duplicates. A duplicate is only found when both columns have duplicate values.

If we had set this to 1, only the first row would’ve been checked for duplicate values.

Delete Table Rows

This code will delete the second row in a Table by referencing ListObjects.

ThisWorkbook.Sheets("Sheet1").ListObjects("list1").ListRows(2).Delete

Delete Filtered Rows

To delete only rows that are visible after filtering:

Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete

VBA Programming | Code Generator does work for you!

Delete Rows in Range

This code will delete all rows in range:

Range("a1:a10").EntireRow.Delete

Delete Selected Rows

This code will delete all selected rows:

Selection.EntireRow.Delete

Delete Last Row

This will delete the last used row in column B:

Cells(Rows.Count, 2).End(xlUp).EntireRow.Delete

By changing 2 to 1, you can delete the last used row in column A, etc.:

Cells(Rows.Count, 1).End(xlUp).EntireRow.Delete

Delete Columns by Number

To delete a column by it’s number, use a code like this:

Columns (2).Delete

How would I clear the contents of a column from cell A3 to cell __ where __ represents the last entry in the column (assuming there are no empty spaces between entries).

Thanks for the help.

ashleedawg's user avatar

ashleedawg

20k8 gold badges73 silver badges104 bronze badges

asked Oct 5, 2011 at 0:08

icobes's user avatar

range("A3", Range("A" & Columns("A").SpecialCells(xlCellTypeLastCell).Row)).Delete

That will delete A3 through the last cell in column A, regardless of any blanks in the column.

range("A3", range("A3").End(xlDown)).Delete

That will delete from A3 down to the first blank cell after A3 in column A.

EDIT: Fixed the first code snippet so it only deletes cells in column A.

Community's user avatar

answered Oct 5, 2011 at 0:24

Banjoe's user avatar

BanjoeBanjoe

1,76011 silver badges12 bronze badges

4

Range("A3", Range("A3").End(xlDown)).Clear

Using .Delete will actually delete the cells, shifting up any cells that might appear after this list (separated by a blank cell). If you just want to clear the contents, .Clear is a good way to go.

answered Oct 5, 2011 at 2:30

Gaijinhunter's user avatar

GaijinhunterGaijinhunter

14.5k4 gold badges50 silver badges57 bronze badges

1

I would use a vbNullString, because it’s slightly faster and works efficently on huge amount of data worksheets.

Paste ‘nothing’ from A3 to the first blank cell in column A:

Range(Cells(1,3), Cells(Range("A3").End(xlDown).Row,1)).Value = vbNullString

Paste ‘nothing’ from A3 to the last cell in column A:

Range(Cells(1,3), Cells(Range("A3").SpecialCells(xlTypeLastCell),1)).Value = vbNullString

answered Nov 9, 2013 at 23:19

kodi1911's user avatar

kodi1911kodi1911

6521 gold badge17 silver badges34 bronze badges

I have had good results with this:

Set tbl = ActiveSheet.ListObjects("Table_Name")
Count = tbl.DataBodyRange.Rows.Count

Range("AC2:AC" + CStr(Count)).Select
Selection.ClearContents

answered Dec 29, 2016 at 19:45

Michael Easterbrook's user avatar

Excel VBA Tutorial about how to clear cell with macrosIn this VBA Tutorial, you learn how to clear cells (including clearing cells totally, their format but not their contents, their contents but not their format, and other similar combinations) with macros.

This VBA Tutorial is accompanied by Excel workbooks containing the macros I use in the examples below. You can get immediate access to these example workbooks by subscribing to the Power Spreadsheets Newsletter.

Use the following Table of Contents to navigate to the section you’re interested in.

Related VBA and Macro Tutorials

The following VBA and Macro Tutorials may help you better understand and implement the contents below:

  • General VBA constructs and structures:
    • Learn about important VBA constructs here.
    • Learn how to work with the Visual Basic Editor here.
    • Learn how to work with Excel Sub procedures here.
    • Learn about the Excel Object Model, and how to create object references, here.
    • Learn about the Range object, and how to refer to cells, here.
    • Learn how to work with properties here.
    • Learn how to work with methods here.
    • Learn how to declare and work with variables here.
    • Learn about data types here.
    • Learn how to work with loops here.
  • Practical VBA applications and macro examples:
    • Learn how to work with worksheets using VBA here.
    • Learn how to check if a cell is empty here.
    • Learn how to delete rows here.
    • Learn how to delete blank or empty rows here.

You can find additional VBA and Macro Tutorials in the Archives.

VBA Code to Clear Cell

To clear cells using VBA, use a statement with the following structure:

Cells.Clear

Process Followed by VBA to Clear Cell

Identify cells to clear > clear cells entirely

VBA Statement Explanation

  1. Item: Cells.
    • VBA Construct: Range object.
    • Description: Range object representing the cells you want to clear.

      You can usually return a Range object with constructs such as the Worksheet.Range, Worksheet.Cells (with Range.Item), Range.Offset, Range.Resize or Application.ActiveCell properties. If you explicitly declare an object variable to represent Cells, use the Range object data type.

  2. Item: Clear.
    • VBA Construct: Range.Clear method.
    • Description: The Range.Clear method clears the Range object you specify (Cells). Range.Clear clears the entire Range object, including values, formulas and formatting.

Macro Example to Clear Cell

The following macro example clears cells A5 to C9 (myRange) in the worksheet named “Clear Cell” of the workbook containing the macro (ThisWorkbook).

Sub clearCell()

    'Source: https://powerspreadsheets.com/
    'For further information: https://powerspreadsheets.com/excel-vba-clear-cell/

    'declare object variable to hold reference to cells to clear
    Dim myRange As Range

    'identify cells to clear
    Set myRange = ThisWorkbook.Worksheets("Clear Cell").Range("A5:C9")

    'clear cells (including formatting)
    myRange.Clear

End Sub

Effects of Executing Macro Example to Clear Cell

The following images illustrate the results of executing the macro example.

  • Before macro execution: Cells A5 to C9 contain the string “data”, have a light blue fill, and the font is formatted as bold.

    Cells with data, fill color and bold formatting

  • After macro execution: Cells A5 to C9 (including both data and formatting) are cleared.

    Cells with cleared data and formatting

#2: Clear Cell Contents and Keep Formatting

VBA Code to Clear Cell Contents and Keep Formatting

To clear cell contents (but not formatting) using VBA, use a statement with the following structure:

Cells.ClearContents

Process Followed by VBA to Clear Cell Contents and Keep Formatting

Identify cells to clear > clear cell contents but keep formatting

VBA Statement Explanation

  1. Item: Cells.
    • VBA Construct: Range object.
    • Description: Range object representing the cells where you want to clear the contents but not the formatting.

      You can usually return a Range object with constructs such as the Worksheet.Range, Worksheet.Cells (with Range.Item), Range.Offset, Range.Resize or Application.ActiveCell properties. If you explicitly declare an object variable to represent Cells, use the Range object data type.

  2. Item: ClearContents.
    • VBA Construct: Range.ClearContents method.
    • Description: The Range.ClearContents method clears values and formulas from the Range object you specify (Cells). Range.ClearContents leaves formatting intact.

Macro Example to Clear Cell Contents and Keep Formatting

The following macro example clears the contents (but not the formatting) of cells A10 to C14 (myRange) in the worksheet named “Clear Cell” of the workbook containing the macro (ThisWorkbook).

Sub clearCellContentsKeepFormatting()

    'Source: https://powerspreadsheets.com/
    'For further information: https://powerspreadsheets.com/excel-vba-clear-cell/

    'declare object variable to hold reference to cells to clear contents but not formatting
    Dim myRange As Range

    'identify cells to clear contents and keep formatting
    Set myRange = ThisWorkbook.Worksheets("Clear Cell").Range("A10:C14")

    'clear cell contents (but not formatting)
    myRange.ClearContents

End Sub

Effects of Executing Macro Example to Clear Cell Contents and Keep Formatting

The following images illustrate the results of executing the macro example.

  • Before macro execution: Cells A10 to C14 contain the string “data”, have a light gold fill, and the font is formatted as bold.

    Cells with data, interior fill and bold formatting

  • After macro execution: Cell contents of cells A10 to C14 are cleared. The formatting is kept.

    Cells with interior fill and bold formatting

#3: Clear Cell Formatting

VBA Code to Clear Cell Formatting

To clear cell formatting using VBA, use a statement with the following structure:

Cells.ClearFormats

Process Followed by VBA to Clear Cell Formatting

Identify cells to clear > clear cell formatting

VBA Statement Explanation

  1. Item: Cells.
    • VBA Construct: Range object.
    • Description: Range object representing the cells where you want to clear cell formatting.

      You can usually return a Range object with constructs such as the Worksheet.Range, Worksheet.Cells (with Range.Item), Range.Offset, Range.Resize or Application.ActiveCell properties. If you explicitly declare an object variable to represent Cells, use the Range object data type.

  2. Item: ClearFormats.
    • VBA Construct: Range.ClearFormats method.
    • Description: The Range.ClearFormats method clears the formatting of the Range object you specify (Cells). Range.ClearFormats doesn’t clear values or formulas.

Macro Example to Clear Cell Formatting

The following macro clears the cell formatting of cells A15 to C19 (myRange) of the worksheet named “Clear Cell” in the workbook containing the macro (ThisWorkbook).

Sub clearCellFormatting()

    'Source: https://powerspreadsheets.com/
    'For further information: https://powerspreadsheets.com/excel-vba-clear-cell/

    'declare object variable to hold reference to cells to clear formatting
    Dim myRange As Range

    'identify cells to clear formatting
    Set myRange = ThisWorkbook.Worksheets("Clear Cell").Range("A15:C19")

    'clear cell formatting
    myRange.ClearFormats

End Sub

Effects of Executing Macro Example to Clear Cell Formatting

The following images illustrate the results of executing the macro example.

  • Before macro execution: Cells A15 to C19 contain the string “data”, have a light green fill, and the font is formatted as bold.

    Cells with data, interior fill and bold formatting

  • After macro execution: The formatting of cells A15 to C19 is cleared.

    Cells with data but cleared formatting

#4: Clear Cell Color

VBA Code to Clear Cell Color

To clear cell color using VBA, use a statement with the following structure:

Cells.Interior.Color = xlColorIndexNone

Process Followed by VBA to Clear Cell Color

Identify cells to clear > set interior color of cells to no color

VBA Statement Explanation

  1. Item: Cells.
    • VBA Construct: Range object.
    • Description: Range object representing the cells where you want to clear cell formatting.

      You can usually return a Range object with constructs such as the Worksheet.Range, Worksheet.Cells (with Range.Item), Range.Offset, Range.Resize or Application.ActiveCell properties. If you explicitly declare an object variable to represent Cells, use the Range object data type.

  2. Item: Interior.
    • VBA Construct: Range.Interior property and Interior object.
    • Description: The Range. Interior property returns an Interior object representing the interior of the cell range you specify (Cells).
  3. Item: Color.
    • VBA Construct: Interior.Color property.
    • Description: The Interior.Color property allows you to set the primary color of the cell interior represented by the Interior object returned by Range.Interior.
  4. Item: =.
    • VBA Construct: Assignment operator.
    • Description: The assignment operator assigns the xlColorIndexNone value to the Interior.Color property.
  5. Item: xlColorIndexNone.
    • VBA Construct: xlColorIndexNone constant.
    • Description: The xlColorIndexNone constant specifies that the color of the Interior object representing the interior of Cells is none.

Macro Example to Clear Cell Color

The following macro clears the cell color of cells A20 to C24 (myRange) in the worksheet named “Clear Cell” of the workbook containing the macro (ThisWorkbook).

Sub clearCellColor()

    'Source: https://powerspreadsheets.com/
    'For further information: https://powerspreadsheets.com/excel-vba-clear-cell/

    'declare object variable to hold reference to cells to clear cell color
    Dim myRange As Range

    'identify cells to clear cell color
    Set myRange = ThisWorkbook.Worksheets("Clear Cell").Range("A20:C24")

    'clear cell color
    myRange.Interior.Color = xlColorIndexNone

End Sub

Effects of Executing Macro Example to Clear Cell Color

The following images illustrate the results of executing the macro example.

  • Before macro execution: Cells A20 to C24 contain the string “data”, have a light orange fill, and the font is formatted as bold.

    Cells with data, interior fill and bold formatting

  • After macro execution: The fill color of cells A20 to C24 is cleared.

    Cells with data and bold formatting, but no cell fill color

#5: Clear Cells with Zero

VBA Code to Clear Cells with Zero

To clear cells with zero within a cell range using VBA, use a macro with the following statement structure:

For Each Cell In Range
    If Cell.Value = myValue Then Cell.Clear
Next Cell

Process Followed by VBA to Clear Cells with Zero

Identify cell range > loop through cells > identify cells with zero > clear cell

VBA Statement Explanation

Lines #1 and #3: For Each Cell In Range | Next Cell

  1. Item: For Each… In… Next.
    • VBA Construct: For Each… Next statement.
    • Description: The For Each… Next statement repeats the statement within the loop (line #2) for each element (Cell) in the cell range (Range) you want to search for zeroes in.
  2. Item: Cell.
    • VBA Construct: Element of the For Each… Next statement and object variable of the Range object data type.
    • Description: The Element of the For Each… Next statement is an object variable used to iterate through the elements (Cell) of the cell range (Range) you want to search for zeroes in.

      If you explicitly declare an object variable to represent Cell, use the Range object data type.

  3. Item: Range.
    • VBA Construct: Group of the For Each… Next statement and Range object.
    • Description: The For Each… Next statement repeats the statements within the loop (line #2) for each element (Cell) in the Group (Range). Range is a Range object representing the cells where you want to search for zeroes.

      You can usually return a Range object with constructs such as the Worksheet.Range, Worksheet.Cells (with Range.Item), Range.Offset, Range.Resize or Application.ActiveCell properties. If you explicitly declare an object variable to represent Range, use the Range object data type.

Line #2: If Cell.Value = myValue Then Cell.Clear

  1. Item: If… Then.
    • VBA Construct: If… Then… Else statement.
    • Description: The If… Then… Else statement conditionally executes a group of statements depending on the value of an expression. For these purposes:
      • The If… Then… Else statement tests the specified condition (Cell.Value = myValue).
      • If the condition is met and returns True: Cell.Clear is executed.
      • If the condition is not met and returns False: Execution continues with the statement following the If… Then… Else statement (Next Cell).
  2. Item: Cell.
    • VBA Construct: Object variable of the Range object data type.
    • Description: Cell is an object variable used to iterate through the elements of the cell range (Range) you want to search for zeroes in. Within the If… Then… Else statement, Cell represents the individual cell the For Each… Next loop is currently iterating through.

      If you explicitly declare an object variable to represent Cell, use the Range object data type.

  3. Item: Value.
    • VBA Construct: Range.Value property.
    • Description: The Range.Value property returns the value in the cell the For Each…Next loop is currently iterating through.
  4. Item: myValue.
    • VBA Construct: Variable of a numeric data type.
    • Description: myValue represents the value you want to search for and use to determine which cells to clear. Within the macro structure used in this VBA Tutorial, myValue is 0 (zero).

      If you explicitly declare a variable to represent myValue, use a numeric data type such as Long, Single or Double (depending on the value you’re searching for).

  5. Item: Cell.Value = myValue.
    • VBA Construct: Condition of If… Then… Else statement.
    • Description: This condition is an expression that evaluates to True or False. Cell.Value = myValue returns True or False, as follows:
      • True: Value of Cell is equal to myValue (zero).
      • False: Value of Cell isn’t equal to myValue (zero).
  6. Item: Clear.
    • VBA Construct: Range.Clear method.
    • Description: The Range.Clear method clears the cell the For Each… Next loop is currently iterating through. Range.Clear clears the entire Range object, including values, formulas and formatting.

      If you don’t want to clear the entire Range object, but only its contents, formatting or cell color, please refer to the appropriate sections above.

Macro Example to Clear Cells with Zero

The following macro example clears the cells with zero (0) in cells A25 to C29 (myRange) in the worksheet named “Clear Cell” of the workbook containing the macro (ThisWorkbook).

Sub clearCellsWithZero()

    'Source: https://powerspreadsheets.com/
    'For further information: https://powerspreadsheets.com/excel-vba-clear-cell/

    'declare object variables to hold references to cell range where you search for zeroes
    Dim myRange As Range

    'declare object variable used to iterate through the elements of the cell range
    Dim iCell As Range

    'declare variable to hold value (zero) you search for
    Dim myValue As Long

    'identify cells to search for zeroes
    Set myRange = ThisWorkbook.Worksheets("Clear Cell").Range("A25:C29")

    'set value (zero) to search for
    myValue = 0

    'loop through each cell (iCell) of the cell range (myRange)
    For Each iCell In myRange

        'test if value is zero. If condition is met, clear cell
        If iCell.Value = myValue Then iCell.Clear

    Next iCell

End Sub

Effects of Executing Macro Example to Clear Cells with Zero

The following images illustrate the results of executing the macro example.

  • Before macro execution: Cells A25 to C29 contain the string “data” or the value zero (0), have a light gray fill, and the font is formatted as bold.

    Cells with data and zero, fill color and bold formatting

  • After macro execution: Cells between A25 to C29 containing a zero (0) are cleared (including both data and formatting).

    Some cells with data, fill color and bold formatting

References to VBA Constructs Used in this VBA Tutorial

Use the following links to visit the appropriate webpage in the Microsoft Developer Network:

  1. Identify the workbook and worksheet where the cells to clear are located:
    • Workbook object.
    • Application.ActiveWorkbook property.
    • Application.ThisWorkbook property.
    • Application.Workbooks property.
    • Worksheet object.
    • Application.ActiveSheet property.
    • Workbook.Worksheets property.
  2. Identify the cells to clear:
    • Range object.
    • Worksheet.Range property.
    • Worksheet.Cells property.
    • Application.ActiveCell property.
    • Application.Selection property.
    • Range.Range property.
    • Range.Cells property.
    • Range.Item property.
    • Range.Offset property.
    • Range.Resize property.
    • For Each… Next statement.
    • If… Then… Else statement.
    • Range.Value property.
  3. Clear cells:
    • Range.Clear method.
    • Range.ClearContents method.
    • Range.ClearFormats method.
    • Interior object.
    • Range.Interior property.
    • Interior.Color property.
    • xlColorIndex enumeration.
  4. Work with variables and data types:
    • Dim statement.
    • Set statement.
    • = operator.
    • Data types:
      • Double data type.
      • Long data type.
      • Single data type.

Skip to content

Clear Cells in Excel Range Worksheet using VBA

Home » Excel VBA » Clear Cells in Excel Range Worksheet using VBA

Description:

Most of the times we clear the data from a cells or a range and re-enter to do some calculations. For examples we may have some template to enter data and calculate the tax. We may want to do this for all the employees of an organization. In this case we need to Clear data Excel from a Range in Worksheet using VBA before entering the data for each employee

Clear Cells in Excel of a range or Worksheet using VBA- Solution(s):

Copy Data from One Range to Another in Excel VBAWe can clear Cells or a Range using Clear Method OR ClearContents Method of a Range or Cell. Clear will Clear the data and Formats of the given Range or Cells. And ClearContents will clear only the data, will not clear any formats.

Clear Cells Range data in Excel Worksheet using VBA – An Example

The following examples will show you how clear the data of Cells, Range or entire worksheet using Clear and ClearContents Methods.

Clearing a Cells/Range using Clear Method

This method will clear the range of cells including Formats:

Sub sbClearCells()
Range("A1:C10").Clear
End Sub
Clearing Only Data of a Range using ClearContents Method

This method will clear only clear the content or data of the range not formats (Formats remain same)

Sub sbClearCellsOnlyData()
Range("A1:C10").ClearContents
End Sub
Clearing Entire Worksheet using Clear Method

This method will clear entire worksheet including formats.

Sub sbClearEntireSheet()
Sheets("SheetName").Cells.Clear
End Sub
Clearing Only Data from Worksheet using ClearContents Method

This method will clear only data of worksheet, not formats.

Sub sbClearEntireSheetOnlyData()
Sheets("SheetName").Cells.ClearContents
End Sub
Instructions:
  1. Open an excel workbook
  2. Enter some data in Sheet1 at A1:C10
  3. Press Alt+F11 to open VBA Editor
  4. Insert a Module for Insert Menu
  5. Copy the above code and Paste in the code window
  6. Save the file as macro enabled workbook
  7. Press F5 to run it
Conclusion:

Both Clear and ClearContents are useful based on your requirement. If you want to Clear only the Content, use ClearContent method. If you want Clear everything (Content and Formats), use Clear method.

Effortlessly Manage Your Projects and Resources
120+ Professional Project Management Templates!

A Powerful & Multi-purpose Templates for project management. Now seamlessly manage your projects, tasks, meetings, presentations, teams, customers, stakeholders and time. This page describes all the amazing new features and options that come with our premium templates.

Save Up to 85% LIMITED TIME OFFER
Excel VBA Project Management Templates
All-in-One Pack
120+ Project Management Templates
Essential Pack
50+ Project Management Templates

Excel Pack
50+ Excel PM Templates

PowerPoint Pack
50+ Excel PM Templates

MS Word Pack
25+ Word PM Templates

Ultimate Project Management Template

Ultimate Resource Management Template

Project Portfolio Management Templates

Related Posts

    • Description:
    • Clear Cells in Excel of a range or Worksheet using VBA- Solution(s):

VBA Reference

Effortlessly
Manage Your Projects

120+ Project Management Templates

Seamlessly manage your projects with our powerful & multi-purpose templates for project management.

120+ PM Templates Includes:

28 Comments

  1. Dave
    July 13, 2013 at 10:53 PM — Reply

    Please note that there is a typo in your code above; ClearContents is used for both examples.

    The first instance should read:
    Range(“A1:C10”).Clear

    The second instance is correct as:
    Range(“A1:C10”).ClearContents

  2. PNRao
    July 13, 2013 at 11:01 PM — Reply

    Thanks Dave! Corrected it!

    Regards,
    PNRao

  3. Felipe
    March 11, 2015 at 11:54 AM — Reply

    Hi!
    I want to erase some of the contents but not all from cells. For example in every cell I have several qualifiers with an specific value, something like /qualifier1=value2 /qualifier2=value2 etc. I just want to erase all qualifiers but number 1. Is this possible?

    Thank you in advance!

  4. PNRao
    March 21, 2015 at 2:38 PM — Reply

    Hi Felipe,
    There is no direct method/finction to do this task. You can write a formula or VBA procedure to do this.

    Thanks-PNRao!

  5. Dushyant
    July 8, 2015 at 11:12 AM — Reply

    hello sir

    Can we clear excel data of two excel sheet of specific cell’s in one code

    e.g. i have two excel sheet in my workbook A and B and i wont clear data of specific cell using range option (A3:B10) for Sheet A and (C2:D10) for sheet B, i want this operation in One code only
    can you please help me

    Regards

    Dushyant Padhya

  6. PNRao
    July 8, 2015 at 5:30 PM — Reply

    If you want clear multiple ranges from a sheet with one single clear statements, you can use the below method:

    Sheets("SheetA").Range("A3:B10", "C2:D10").Clear
    

    If I am correct, you want to put tow statements in one single statement:
    Below is the code to clear the two ranges:

    Sheets("SheetA").Range("A3:B10").Clear
    Sheets("SheetB").Range("C2:D10").Clear
    

    You can use “:” to concatenate the VBA statements

    Sheets("SheetA").Range("A3:B10").Clear: Sheets("SheetB").Range("C2:D10").Clear
    

    Hope this hellps!
    Thanks-PNRao

  7. james
    August 7, 2015 at 7:43 PM — Reply

    I have a list where some cell values begin with a letter and some with a number. How can I use the clear function to clear cells beginning with a letter but leave those beginning with a number? All cells contain both letters and number, but I want to clear those where the letter is the first character. also some are uppercase and some lowercase (not sure if this matters)
    thanks

    James

  8. PNRao
    August 7, 2015 at 7:57 PM — Reply

    Hi James,

    The below macro checks for the first character of each cell in a given range, and clears if it is non-numeric:

    Sub sbClearCellsIFCritera()
    
    Set Rng = Range("F1:F20") ' change this range as per your requirement
    For Each cell In Rng.Cells
        If IsNumeric(Left(cell, 1)) = False Then
            cell.Clear
        End If
    Next
    
    End Sub
    

    Thanks-PNRao

  9. ravindra
    August 22, 2015 at 10:40 PM — Reply

    I want to get the data from one workbook to another workbook by using VBA coding. So could you please help me.

  10. PNRao
    August 23, 2015 at 2:10 AM — Reply

    Hi Ravindra,
    You can use the Copy command as shown below:

    Workbooks("Book1").Sheets("Sheet1").Range("A1:B10").Copy _
    Destination:=Workbooks("Book2").Sheets("Sheet1").Range("E1")
    

    Thanks-PNRao!

  11. Brad Bouchaud
    November 6, 2015 at 7:47 AM — Reply

    Hi and thanks in advance.
    I have a List of 3 items per row in a Worksheet with 30 such rows and a button besides each to run a Macro to clear the contents when required.
    Other macros perform functions on the data in the lists.
    Unfortunately I am using the .ActiveCell which doesn’t seem to detect I am in the Cell with the button but is uses the last cell I was in, any ideas on how I can clear the contents of the 3 cells beside the buttons without writing 30 different macros?

  12. Kyle Minnett
    March 2, 2016 at 1:34 AM — Reply

    If I want to clear a variable range of cells based on a specific input how would I do this?

    for example lets say i am running a code that fills cells e5:e10 based on an input variable that i have chosen. then i decide that i want to change that input variable and by changing it my data range runs from cell e5:e9. however because i just ran a calculation that created a range from e5:e10 the value in cell e10 is still present with the new range ( i want to the contents in cell e10 to be cleared)….i hope this wasn’t too confusing.

  13. Venkata Naidu M
    May 31, 2016 at 12:38 PM — Reply

    I want to clear the data without formulas from active worksheet

    Please help…

  14. PNRao
    June 4, 2016 at 9:44 PM — Reply

    Hi Venkat, You can use Activesheet.Cells.Clear Method to clear the entire sheet (Activesheet).

    Thanks-PNRao!

  15. Anas Ahmad
    July 19, 2016 at 12:34 PM — Reply

    Hello Everybody,

    I want clear particular range of data from cells.

    For example: Cells which have only zero and the value above 5000 from the whole sheet.

    Can u suggest me how to give coding.

  16. ASAD
    August 12, 2016 at 5:38 PM — Reply

    how to use check box to clear and unclear cell

  17. PNRao
    August 14, 2016 at 11:35 PM — Reply

    We can use .Clear Method to clear the Cells but, we can do not have the method to undo /unclear the cleared cells:
    The below Code will clear when you select the check box.

    Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then
        Cells.Clear
    End If
    End Sub
    

    Thanks-PNRao!

  18. Pranav Roy
    October 28, 2016 at 10:32 PM — Reply

    Hi..
    I’m new to macro programming
    How to write a macro with relative refrences which can clear/clear contents after a particular cell. That is if a cell is chosen and macro is started it should delete the values or formats for the given no ( say 12) cells .May be row or columnwise.

  19. Donna
    November 2, 2016 at 6:40 PM — Reply

    I have one workbook with several sheets, (more than 200 sheets) and I would like to clear contents within specific cells (same on all sheets) in workbook. How can I do that each sheet is named with last 4 digits of each VIN.
    What code would I use?

  20. srinivas
    January 7, 2017 at 5:11 PM — Reply

    hi
    I want to this macro code
    one excel sheet first cell to six cells type “p” letter then seventh cell automatic display “wp”
    please tell me this vba code

  21. Himani
    January 10, 2017 at 4:12 PM — Reply

    Hi,
    Is there any way to clear data of selective rows from multiple sheets keeping the formatting and formula same??

    Thanks
    Himani

  22. paige
    January 11, 2017 at 10:49 AM — Reply

    Hi Anas,
    I have the exact same query – it’s very tricky.
    did you end up finding a solution?

    Thank you PNRao for everything thus far!

  23. April
    January 25, 2017 at 5:34 PM — Reply

    I want to clear the values that are returned in a range of cells but, I want to keep the formula that was entered in the cells. Is there a way to do that?

  24. Nasiba
    February 17, 2017 at 12:56 AM — Reply

    Hello,

    How can I clear content of multiple tabs? For example I need to clear Range(“A:N”) columns from 5 different worksheets

  25. Yaried
    May 29, 2017 at 2:27 AM — Reply

    hi every body I do have a excel template, and I do have a program for clearing data but I also want to add an option whether to clean the data , ie yes no option if the user press the no button the data will not be cleared can u tell me a command for that case. could you pleas send me a mail
    thanks for your cooperation

  26. Chittaranjan
    June 20, 2017 at 4:52 PM — Reply

    Hello All,

    Need help on one thing, Whenever i open Excel which containing macro an error occurs as “Security Warning Macro have been Disable. Enable Content” . After clicking on Enable content button the excel open in good manner.
    Now I have to disable any cell value or change color to while, let say cell F5 having text “Best of Luck” which is in black color. I record the macro as to change it to white color/it should be disabled. OK.

    My Question is, whenever we click on Enable content button, the text color “Best of Luck” of cell F5 should be change to white/ disappear.

    So How to do, need help.

  27. Veasna
    December 27, 2017 at 2:23 PM — Reply

    Hello Dear,

    I need some help from you. I want to delete entire sheet content.But only content that filled up not content that created by formula.

  28. Jospeh
    May 11, 2020 at 10:08 PM — Reply

    I need to figure out how to clear a set of rows underneath my header row. e.g. HeaderRow+1, (Don’t know what to put here). Clear Contents.

Effectively Manage Your
Projects and  Resources

With Our Professional and Premium Project Management Templates!

ANALYSISTABS.COM provides free and premium project management tools, templates and dashboards for effectively managing the projects and analyzing the data.

We’re a crew of professionals expertise in Excel VBA, Business Analysis, Project Management. We’re Sharing our map to Project success with innovative tools, templates, tutorials and tips.

Project Management
Excel VBA

Download Free Excel 2007, 2010, 2013 Add-in for Creating Innovative Dashboards, Tools for Data Mining, Analysis, Visualization. Learn VBA for MS Excel, Word, PowerPoint, Access, Outlook to develop applications for retail, insurance, banking, finance, telecom, healthcare domains.

Analysistabs Logo

Page load link

VBA Projects With Source Code

3 Realtime VBA Projects
with Source Code!

Take Your Projects To The Next Level By Exploring Our Professional Projects

Go to Top

Like this post? Please share to your friends:
  • Vba excel как очистить listbox
  • Vba excel как отправить файл
  • Vba excel как отобразить скрытую строку
  • Vba excel как отладить
  • Vba excel как открыть текстовый файл