IT 관련/엑셀

VBA 코드 (주석, 프로시저 호출)

과정에서 오는 행복 2013. 11. 20. 15:23

Alt + F11 (엑셀 - Visual Basic 편집기)

[엑셀의 VB코드]
 Range("C3").Value = "이원호"    // C3의 값 세팅
 Range("C3").Copy     // 복사
 Range("C7").Select   // C7 선택
 // 현재 활성화된 시트에 붙여넣음  Paste는 워크시트를 따라감
 ActiveSheet.Paste 
// 복사모드 해제
 Application.CutCopyMode = False

VBA에는
엑셀에서 사용하는 함수 WorksheetFunction.
(ex) WorksheetFunction.CountA(Range("A:A"))
     나쁜예) Range("C1").value = "=Sum(A:A)"  - C1의 셀에 Sum(A:A)를 쓰기에 매크로로 쓰기엔 안좋다.
Visual Basic 전용함수 VBA.
이 있다.
성능은 VBA가 더 빠르기 때문에 매크로 작업시 VBA함수를 우선한다.


[주석]
 ' 설명 : 프로그램의 설명
 ' 날짜 : 2013-01-01
 ' 마지막수정일 : 2013-08-01

 ' 1단계 : 작업로직
    코드 .......................................

 ' 2단계 : 작업로직
   코드 .......................................


[차이점]
 - 엑셀함수는 함수명 끝에 () 가 붙지만, VBA함수는 함수끝에 ()를 쓰지 않는다.


[프로시저 호출]
 Call 프로시저명

Sub 직원등록()
    코드...
End Sub

 ex) Call 직원등록
Call 이라는 명령어는 생략이 가능하지만, 사용하는것을 권장함.   ex) 직원등록


[프로시저 종료]
 // 실행중인 프로시저를 끝낸다
 Exit Sub

반응형