본문 바로가기
반응형

IT 이모저모/VBA34

VBA(엑셀 매크로) for, foreach(반복문) 활용법과 Continue와 break방법 다른 언어와 마찬가지로 VBA에도 특정 실행처리를 반복하는 반복문이 있다. 바로 예시를 확인해보자 for문의 예시 Dim i As Integer '인덱스 변수 'Integer변수 i가 1부터 3까지 총 3번 실행 For i = 1 To 3 Debug.Print(i) '인덱스 변수 i의 값을 출력 Next 위의 예시의 경우 i를 1씩 늘려가며 1부터 3까지 3회 실행된다. 결과는 1 2 3 이 출력된다. i를 임의의 값으로 늘려서 반복문을 돌리고 싶다면 아래의 예시를 참고하면 된다. Dim i As Integer 'i가 1부터 5까지 2씩 증가하며 실행된다. For i = 1 To 5 Step 2 Debug.Print(i) ' 1 3 5를 출력 Next 'i가 3부터 1까지 -1씩 더해지며 실행된다. Fo.. 2020. 6. 13.
VBA(엑셀 매크로) if(조건)문 과 비교연산자 설명, 예시 조건에 따른 처리 실행을 통제하기 위해 많은 언어에서 조건문을 쓴다. 다른 프로그램 언어와 마찬가지로 VBA에도 조건문이 있다. If문의 구조 아래는 if문의 구조이다. If 조건식1 Then '조건식1이 성립하는 경우 실행하는 처리 ElseIf 조건식2 Then '조건식1이 성립하지 않는 경우 조건식2를 확인 후 실행하는 처리 Else 조건식1, 조건식2가 성립하지 않는 경우 End If C계열이나 자바계열과는 다르게 (),{}를 쓰지 않고 ElseIf, Then, End If등으로 구성되어 있다. 비교연산자 조건식을 쓰기 위해서는 비교연산자가 필요하다. VBA의 비교 연산자는 아래와 같다. 비교연산자 의미 A > B A가 B보다 크다 A >= B A가 B보다 크거나 같다 A < B A가 B보다 작다 A 2020. 6. 10.
VBA Byval과ByRef차이점과 활용법 간단히 요약하면 Byval - 값에 의한 전달 ByRef - 참조에 의한 전달 이다. 간단한 예시와 함께 알아보도록 하자. '메인처리 ' Sub Main() Dim strMessage_ByRef As String Dim strMessage_ByVal As String strMessage_ByRef = "변경전메세지" strMessage_ByVal = "변경전메세지" '참조에 의한 전달 후 메세지 확인 Call Test_ByRef(strMessage_ByRef) Debug.Print "ByRef실행후:" & strMessage_ByRef '값에 의한 전달 후 메세지 확인 Call Test_ByVal(strMessage_ByVal) Debug.Print "ByVal실행후:" & strMessage_ByRef.. 2020. 6. 8.
VBA sub프로시저 Function프로시저 (함수) 차이점 및 생성, 불러오는법 프로시저는 다른 언어의 함수와 같은 역활을 한다. VBA에서는 이런 함수가 2종류(sub, function)가 있다. 차이점과 생성 및 활용법을 알아보자 sub프로시저와 Function 프로시저의 차이점 sub는 리턴값이 없고 function은 리턴값이 있다. 일반적인 언어에서는 통합되어 있는 기능이 VBA에서는 나뉘어져 있다. 생성법 sub의 경우 Sub 프로시저명() '처리내용 End Sub function의 경우 Function 프로시저명 () As 리턴값 데이터형 '처리내용 End Function 불러오는 법 sub의 경우 Call을 이용하여 호출하는 경우가 많다. function의 경우 리턴치를 돌려줄때 call을 앞에 붙이면 에러가 난다. Sub main() Call macro1 End Sub.. 2020. 6. 7.
반응형