VBA с | Как да използвам с ... Край с изявление в Excel VBA?

С изявление в Excel VBA

Изявлението се използва във VBA за достъп до всички свойства и методи на споменатия обект. Трябва да предоставим кой VBA обект, за който говорим първо, след това да затворим оператора With с End With , след това вътре в този оператор можем да извършим всички промени в свойствата и методите на споменатия обект.

По-долу е синтаксисът на With Statement във VBA.

 С [ОБЕКТ] [Код ... Какво трябва да се направи?] Завършете с 

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

Как да използвам с изявление в Excel VBA?

По-долу са дадени някои примери за използване с Statement в Excel VBA.

Можете да изтеглите този VBA с шаблон на Excel тук - VBA с шаблон на Excel

Пример # 1

Да предположим, че имате определена стойност в клетка A1, аз въведох текста като „Excel VBA“ в клетка A1.

Сега за тази клетка трябва да направя някои задачи, т.е. форматиране в Excel.

Искам да променя размера на шрифта, името на шрифта и цвета на интериора, да вмъкна рамка и т.н. ... Типично това, което правим, е първо да препратим клетката с помощта на обект VBA RANGE.

Код:

 Sub With_Example1 () Обхват ("A1") Край Sub 

Сега за промяна на размера на шрифта имаме достъп до свойството “font” на тази клетка.

Под свойство FONT ние влизаме в свойството Size и въвеждаме размер, като поставяме знак за равенство.

Код:

 Sub With_Example1 () Обхват ("A1"). Font.Size = 15 Край Sub 

Сега по същия начин правим и други задачи за форматиране, както е показано по-долу.

Код:

 Sub With_Example1 () Range ("A1"). Font.Size = 15 Range ("A1"). Font.Name = "Verdana" Range ("A1"). Interior.Color = vbЖълт диапазон ("A1"). Граници .LineStyle = xl Непрекъснат край Sub 

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

Сега ще използваме оператора VBA With, за да намалим въвеждането на адрес на клетка всеки път. Отворете инструкцията WITH в Excel VBA и посочете адреса на клетката.

Код:

 Sub With_Example1 () With Range ("A1") End Sub 

Вътре в инструкцията With поставете точка, за да видите всички свойства и методи на клетка A1.

Сега първата дейност по форматиране променя размера на шрифта, така че имайте достъп до FONT и под това свойство SIZE за достъп.

Код:

 Sub With_Example1 () С диапазон ("A1"). Font.Size = 15 Край Sub 

По същия начин предоставете други кодове за форматиране и затворете VBA с изявление.

Код:

 Sub With_Example1 () С диапазон ("A1") .Font.Size = 15. Font.Name = "Verdana" .Interior.Color = vbYellow .Borders.LineStyle = xl Непрекъснат край с край Sub 

Изпълнете кода, за да видите цялото форматиране в споменатия обект, т.е. клетка A1.

И така, цялото форматиране, приложено към клетката. Вижте колко готина е тази техника.

Пример # 2

Например, ако искате да промените всички свойства, свързани с шрифта, можете да споменете клетката и свойството FONT.

Код:

 Sub With_Example2 () С диапазон ("A1"). Шрифт Край с Край Sub 

Вътре в vba With Statement можем да видим списък IntelliSense, той ще показва свойства и методи, свързани само със свойството FONT.

С това можем да изпълняваме всякакъв набор от дейности сега.

Код:

 Sub With_Example2() With Range("A1").Font .Bold = True 'Font will be Bold .Color = vbAlias 'Font color will be Alias .Italic = True 'Font will be italic style .Size = 20 ' Font size will be 20 .Underline = True 'Font will be underlined End With End Sub 

The result of this will be as shown below.

Example #3

Below code will access only cell border-related properties.

Code:

 Sub With_Example3() With Range("B2").Borders .Color = vbRed 'Border color will be red .LineStyle = xlContinuous 'Full border .Weight = xlThick 'Thick border End With End Sub 

The result of this code is as follows.

Things to Remember

  • With statement is used to minimize the code.
  • We need to supply object first for With statement.
  • Once the specific object is supplied we can access only that object’s properties and methods.