VBA s | Jak používat s ... End With Statement v aplikaci Excel VBA?

S výpisem v aplikaci Excel VBA

Příkaz With se ve VBA používá pro přístup ke všem vlastnostem a metodám zmíněného objektu. Nejprve musíme zadat, na který objekt VBA odkazujeme, poté zavřít příkaz With pomocí End With , pak v tomto příkazu můžeme provádět všechny změny vlastností a metody zmíněného objektu.

Níže je uvedena syntaxe příkazu With Statement ve VBA.

 S [OBJEKT] [Kód ... Co je třeba udělat?] Konec 

Objekt není nic jiného než řada buněk nebo buněk, na které odkazujeme, a pak můžeme změnit vlastnosti a provést všechny metody spojené s touto konkrétní buňkou nebo buňkami.

Jak používat s příkazem v aplikaci Excel VBA?

Níže uvádíme několik příkladů, které lze použít s Prohlášením v aplikaci Excel VBA.

Tuto šablonu VBA s Excelem si můžete stáhnout zde - VBA s šablonou Excel

Příklad č. 1

Předpokládejme, že máte v buňce A1 určitou hodnotu, do buňky A1 jsem zadal text jako „Excel VBA“.

Nyní pro tuto buňku musím udělat nějaké úkoly, tj. Formátování v aplikaci Excel.

Chci změnit velikost písma, název písma a barvu interiéru, vložit ohraničení atd. Typické je to, že nejprve odkazujeme na buňku pomocí objektu VBA RANGE.

Kód:

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

Nyní pro změnu velikosti písma přistupujeme k vlastnosti „písma“ této buňky.

Pod vlastností FONT přistupujeme k vlastnosti Size a zadáme velikost vložením znaménka rovná se.

Kód:

 Sub With_Example1 () Range ("A1"). Font.Size = 15 End Sub 

Nyní podobně provádíme další úlohy formátování, jak je uvedeno níže.

Kód:

 Sub With_Example1 () Range ("A1"). Font.Size = 15 Range ("A1"). Font.Name = "Verdana" Range ("A1"). Interior.Color = vbYellow Range ("A1"). Borders .LineStyle = xlContinuous End Sub 

To udělá všechny zmíněné úkoly, ale pokud se podíváte na kód, abyste mohli provádět každou každou formátovací aktivitu, kterou jsme pokaždé zadali adresu buňky, způsobí to, že kód bude zdlouhavý a časově náročný.

Nyní použijeme příkaz VBA With ke snížení zadávání adresy buňky pokaždé. Otevřete příkaz WITH v aplikaci Excel VBA a zadejte adresu buňky.

Kód:

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

Uvnitř příkazu With vložte tečku, abyste viděli všechny vlastnosti a metody buňky A1.

Nyní první aktivací formátování je změna velikosti písma, takže přejděte na FONT a pod tuto vlastnost SIZE přístupu.

Kód:

 Sub With_Example1 () With Range ("A1") .Font.Size = 15 End Sub 

Podobně zadejte další formátovací kódy a zavřete příkaz VBA With Statement.

Kód:

 Sub With_Example1 () With Range ("A1") .Font.Size = 15 .Font.Name = "Verdana" .Interior.Color = vbYellow .Borders.LineStyle = xlContinuous End With End Sub 

Spuštěním kódu zobrazíte veškeré formátování ve zmíněném objektu, tj. Buňce A1.

Takže veškeré formátování použité v buňce. Podívejte se, jak skvělá je tato technika.

Příklad č. 2

Například pokud chcete změnit všechny vlastnosti související s písmem, můžete uvést vlastnost buňky a FONT.

Kód:

 Sub With_Example2 () With Range ("A1"). Písmo End With End Sub 

Uvnitř příkazu VBA With můžeme vidět seznam IntelliSense, který zobrazí vlastnosti a metody související pouze s vlastností FONT.

S tímto můžeme nyní provádět jakoukoli sadu činností.

Kód:

 Sub With_Example2 () With Range ("A1"). Font .Bold = True 'Font will be Bold .Color = vbAlias' Color font will be Alias ​​.Italic = True 'Font will be italic style .Size = 20' Velikost písma bude be 20 .Underline = True 'Písmo bude podtrženo End With End Sub 

Výsledek bude následující.

Příklad č. 3

Níže uvedený kód získá přístup pouze k vlastnostem souvisejícím s ohraničením buněk.

Kód:

 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 

Výsledek tohoto kódu je následující.

Věci k zapamatování

  • Příkaz With se používá k minimalizaci kódu.
  • Nejprve musíme zadat objekt pro příkaz With.
  • Jakmile je zadán konkrétní objekt, můžeme přistupovat pouze k jeho vlastnostem a metodám.

$config[zx-auto] not found$config[zx-overlay] not found