본문 바로가기
데이터분석/엑셀 Excel

[엑셀] VBA (Visual Basic Application) 기초 완성

by KenData 2025. 1. 20.

안녕하세요 오늘은 엑셀의 VBA를 공부해보았습니다

 

엑셀 VBA 사용 예시

 

엑셀에서 파이썬을 사용할 수 있다고 들어서, 자동화는 파이썬을 사용할 예정이였는데

VBA가 훨씬 편한 것 같습니다.

 

실행한게 취소가 안된다는 치명적인 단점이 있지만 그래도, 제 일상생활에서도 활용도가 높을 것 같아

 

Sub CreateToC()

'변수 선언
Dim WB As Workbook
Dim WS As Worksheet
Dim i As Long

Set WB = ThisWorkbook
Set WS = WB.Worksheets("목차")

For i = 1 To WB.Worksheets.Count
    WS.Range("C" & i).Value = WB.Worksheets(i).Name
    'Anchor = 링크를 추가할 셀
    'Address = 웹페이주소 or 파일경로
    'SubAddress = [선택인수] 내부 시트로 이동할 때 주소
    '시트이름!A1
    WS.Hyperlinks.Add WS.Range("C" & i), "", WB.Worksheets(i).Name & "!A1"
    
Next


End Sub

 

이런식으로 목차를 추가하고, 목차로 자동이동하게 하는 것도 추가했씁니다

 

Change를 사용했을 때, 그것이 무한히 반복되지 않게 하는

유용한 코드도 배웠습니다

Application.ScreenUpdating = False
Application.EnableEvents = False

If Not Intersect(Target, Range("셀주소")) Is Nothing Then
'실행할 명령문
End If

Application.ScreenUpdating = True
Application.EnableEvents = True

 

위 코드를 응용해, 다음과 같이 자동 필터를 구현 했습니다

 

자동필터 엑셀

 

마지막으로 간단한 프로그램도 만들어 봤어요

 

엑셀 자동 추가

 

VBA가 꽤나 신기하네요. 문법도 간단하고 그래도 아직 익숙하지 않아서 

응용하려면 훨씬 더 많이 사용해 봐야할 것 같아요