VBA 포함 | Excel VBA에서 With ... End With 문을 사용하는 방법?

Excel VBA의 문 사용

With 문은 VBA에서 언급 된 개체의 모든 속성 및 메서드에 액세스하는 데 사용됩니다. 먼저 참조하는 VBA 개체를 제공 한 다음 End With로 With 문을 닫은 다음이 문 내에서 언급 된 개체의 모든 속성 변경 및 메서드를 수행 할 수 있습니다.

다음은 VBA의 With 문 구문입니다.

 [OBJECT] [코드… 무엇을해야합니까?] End With 

객체는 우리가 참조하는 셀 또는 셀 범위에 불과하며 속성을 변경하고 해당 특정 셀과 관련된 모든 방법을 수행 할 수 있습니다.

Excel VBA에서 With 문을 사용하는 방법?

다음은 Excel VBA에서 With 문을 사용하는 몇 가지 예입니다.

이 VBA와 Excel 템플릿을 여기에서 다운로드 할 수 있습니다 – VBA와 Excel 템플릿

예 1

A1 셀에 특정 값이 있다고 가정하고 A1 셀에 "Excel VBA"로 텍스트를 입력했습니다.

이제이 셀에 대해 Excel에서 서식 지정과 같은 몇 가지 작업을 수행해야합니다.

글꼴 크기, 글꼴 이름, 내부 색상을 변경하고 테두리를 삽입하고 싶습니다. 일반적인 작업은 먼저 VBA RANGE 개체를 사용하여 셀을 참조하는 것입니다.

암호:

 Sub With_Example1 () 범위 ( "A1") End Sub 

이제 글꼴 크기를 변경하기 위해이 셀의 "font"속성에 액세스합니다.

FONT 속성에서 Size 속성에 액세스하고 등호를 넣어 크기를 입력합니다.

암호:

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

이제 유사하게 아래와 같이 다른 서식 지정 작업을 수행합니다.

암호:

 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 

이것은 언급 된 모든 작업을 수행하지만 매번 셀 주소를 제공 한 모든 서식 지정 활동을 수행하는 코드를 보면 코드가 길고 시간이 많이 걸리는 것처럼 보입니다.

이제 VBA With 문을 사용하여 매번 셀 주소 입력을 줄입니다. Excel VBA에서 WITH 문을 열고 셀 주소를 제공합니다.

암호:

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

With 문 안에 점을 넣어 A1 셀의 모든 속성과 메서드를 확인합니다.

이제 첫 번째 서식 지정 활동은 글꼴 크기를 변경하므로 FONT에 액세스하고이 액세스 SIZE 속성 아래에 있습니다.

암호:

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

마찬가지로 다른 서식 코드를 제공하고 VBA With 문을 닫습니다.

암호:

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

코드를 실행하여 언급 된 개체 즉 A1 셀의 모든 서식을 확인합니다.

따라서 모든 서식이 셀에 적용되었습니다. 이 기술이 얼마나 멋진 지보세요.

예제 # 2

예를 들어, 글꼴과 관련된 모든 속성을 변경하려는 경우 셀 및 FONT 속성을 언급 할 수 있습니다.

암호:

 Sub With_Example2 () With Range ( "A1"). Font End With End 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.