2018년 5월 12일 토요일

Excel VBA 기본

목적: 간단한 VBA 코드가 필요할 경우(Macro 작성) 기본 문법도 모두 검색해서 찾아보기 때문에 효율성이 떨어지고 내가 제대로 알고 있는지 의구심이 들 때가 있기 때문에

프로그램 설명: 1번 Row 부터 800번 Row 까지 이동하면서 1번 Column 에 특정 문자열이 들어 있으면 특정 명령을 수행한다.

1) 코드에는 아래와 같이 쓴다. Sub 와 함수 이름을 작성하고 괄호를 열고 닫은 후 엔터를 치면 End Sub 가 자동으로 나타난다. 이 말은 문법이 아직까지 틀린적이 없다는 것이다.
Sub MakeIndent()
End Sub

2) 사용할 변수 선언
Sub MakeUndext()
    Dim i, j, K As Integer
End Sub

3) For 구문 작성
Sub Makeindent()
    Dim i, j, K As Integer
    For i=1 To 800 
    Next
End Sub

4)  특정 문자열이 있는지 확인
Sub Makeindent()
    Dim i, j, K As Integer
    For i=1 To 800
        if ( inStr(Cells(i, 1), "Heading") ) Then
        Endif
    Next
End Sub

5) 특정 행동을 실행
Sub Makeindent()
    Dim i, j, K As Integer
    For i=1 To 800
        if ( inStr(Cells(i, 1), "Heading") ) Then
            j = MID(Cells(i, 1), 9, inStr(Cells(i, 1), "&") - 9)
            For k To j
                ' 오른쪽으로 Shift 하는 코드를 넣는데 이런 부분은 Macro 기록으로 실행한 뒤 복사해서 사용하면 된다.
            Next
        Endif
    Next

댓글 없음:

댓글 쓰기