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.