Изчистване на съдържанието на VBA - Как да изчистите или изтриете съдържанието с помощта на VBA код?

Изчистване на съдържанието на Excel VBA

Изчистване на съдържанието е метод във VBA, който се използва за изтриване или премахване на стойностите, които се съхраняват в предоставените му клетки, този метод прави диапазона на клетките празен и се използва със свойството range за достъп до посочения диапазон от клетки, пример за използване на този метод е както следва обхватът (“A1: B2”). ClearContents този метод ще изчисти съдържанието на клетките от A1 до B2.

В Excel добавянето на данни и изтриването им е често срещана рутинна задача. Понякога изтриваме стойност на една клетка, понякога много стойности на клетки, а понякога може да се наложи да изтрием и цялото съдържание на работния лист. В тази статия ще ви покажем как да използвате метода „Изчистване на съдържанието“ в Excel VBA. Във VBA имаме много методи за това, като „Изчистване“, „Изтриване“ и „Изчистване на съдържанието“.

Какво е ясно съдържание в Excel VBA?

Преди да ви разкажа за Clear Contents във VBA, позволете ми да покажа как можем да изтрием или изчистим данните в конкретния диапазон.

Например погледнете данните по-долу.

Сега, ако искам да изчистя от клетката А1 до С3, първо трябва да споменем обхвата на клетките, използващи обекта VBA RANGE.

Код:

Обхват („A1: C3“)

След като споменахме диапазона от клетки с помощта на обекта RANGE, трябва да изберем метода „Clear“, за да премахнем споменаването на стойностите на клетките.

Код:

Обхват (“A1: C3”). Ясно

Това ще изчисти споменатите стойности на клетките.

Код:

Sub Clear_Example () Обхват ("A1: C3"). Clear End Sub

Освен ясния метод, можем да използваме и метода “DELETE”.

Код:

Обхват (“A1: C3”). Изтриване

Това ще изтрие споменатите стойности на клетки, точно както е направил нашият ясен метод.

Ако искате да изтриете всички данни на клетката, тогава можете да използвате свойството VBA CELLS с име на работен лист.

Работни листове (“Лист1”). Клетки.Изтриване
Работни листове („Лист1“). Клетки. Изчистване

И двата горни кода ще изтрият всички данни от работния лист „Sheet1“. Той ще изтрие стойностите на клетката от първата клетка до последната клетка на работния лист.

Ако искате да изтриете настоящите клетки на листа, тогава можете да използвате обекта Active Sheet.

ActiveSheet.Cells.Delete или ActiveSheet.Cells.Clear

Разлика между методите за изчистване и изтриване

Знам, че този въпрос вече трябваше да играе в съзнанието ви.

Да, има разлика между тези два метода.

Когато използвате метода „Delete“, той ще изтрие клетката и долната клетка ще заеме позицията на изтритата клетка.

Например погледнете изображението по-долу.

Сега ще използвам метода за изтриване, за да изтрия клетката А1.

Код:

Sub Clear_Example () Диапазон ("A1"). Изтриване на крайния Sub

Ще пусна този код и ще видя какво ще стане.

Вижте какво се случи тук; както казах, когато изтрих клетката А1, тя се изтрива, но клетката А2 премества една клетка нагоре и заема изтритата клетка. Това ще доведе до несъответствие на данните. Така че бъдете внимателни, докато използвате метода Delete.

Сега за същите данни ще изчистя метода.

Код:

Sub Clear_Example () Обхват ("A1"). Clear End Sub

Сега вижте какво се случва, когато стартирам този код.

Този код току-що освободи клетката А1, без да променя други клетки. Това изглежда подходящ метод за изтриване само на част от клетките от целия диапазон от данни.

Използвайте метода на VBA Clear Contents, за да запазите форматирането на клетки

Ако сте наблюдавали предишните два метода, тези два метода не само са изтрили или изчистили предоставените клетки. Той също така изтри форматирането на клетките, които сме предоставили.

За да запазим форматирането на клетките, не е необходимо да използваме нито „Изтриване“, нито „Изчистване“, но трябва да използваме метода на VBA „Изчистване на съдържанието“.

В момента, в който въведете диапазона от клетки с помощта на обект RANGE, той ще покаже всички свойства и методи, свързани с него.

We can access “Delete,” we can access “Clear,” and we can also “ClearContents” methods.

Select this method.

Code:

Sub Clear_Example() Range("A1:C3").ClearContents End Sub

Now, this will clear content from A1 to C3 cell, but we will have all the existing formatting as it is.

As you can see in the above picture, we have cell color in VBA, borders, and every formatting associated with those mentioned cells.

Similarly, we can clear the contents of other sheets as well.

Worksheets(“Sheet1”).Range(“A1:D10”).ClearContents

This will clear the contents from the cells A1 to D10 in the sheet “Sheet1”.

Similarly, we can delete the other open workbook cells as well.

Workbooks(“Book1.xlsx”).Worksheets(“Sheet1”).Range(“A1:D10”).ClearContents

Loop Through all the Worksheets and Clear Contents of Specific Range

Да приемем, че имате много листове в работната си книга и искате да изтриете диапазона от клетки от А1 до С15 във всички листове, които трябва да използваме За всеки цикъл във VBA, за да направим това.

Кодът по-долу ще свърши работа.

Код:

Sub Clear_All () Затъмняване на Ws като работен лист за всеки Ws в ActiveWorkbook. Работни листове Ws.Range ("A1: C15"). ClearContents Next Ws End Sub
Забележка: Можете да промените диапазона от клетки според вашето желание.

За всеки случай, ако искате да изчистите всички данни на работния лист, тогава трябва да използвате кода по-долу.

Код:

Sub Clear_All () Dim Ws As Workheet за всеки Ws в ActiveWorkbook.Worksheets Ws.Cells.ClearContents Next Ws End Sub

Можете да изтеглите този шаблон на VBA Clear Contents Excel тук - VBA Clear Contents Template.

Интересни статии...