반응형
Excel vba 시트 모듈에 프로그래밍 방식으로 코드 추가
프로그래밍 방식으로 생성된 워크북에 아래와 유사한 이벤트 코드를 넣는 방법:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nextTarget As Range
Set nextTarget = Range(Selection.Address) 'store the next range the user selects
Target.Columns.Select 'autofit requires columns to be selected
Target.Columns.AutoFit
nextTarget.Select
End Sub
이를 통해 워크북을 추가하고 워크시트 변경 이벤트를 시트 1 모듈에 배치합니다.
Sub AddSht_AddCode()
Dim wb As Workbook
Dim xPro As VBIDE.VBProject
Dim xCom As VBIDE.VBComponent
Dim xMod As VBIDE.CodeModule
Dim xLine As Long
Set wb = Workbooks.Add
With wb
Set xPro = .VBProject
Set xCom = xPro.VBComponents("Sheet1")
Set xMod = xCom.CodeModule
With xMod
xLine = .CreateEventProc("Change", "Worksheet")
xLine = xLine + 1
.InsertLines xLine, " Cells.Columns.AutoFit"
End With
End With
End Sub
코드를 처음 실행할 때 오류가 발생할 수 있습니다.
Stop(중지) 아이콘을 누르고 도구 메뉴와 "References(참조)"를 선택합니다.
그런 다음 "Microsoft Visual Basic for Applications Extensibility 5.3 라이브러리"를 찾아 확인합니다.
코드를 다시 실행하면 작동합니다.
언급URL : https://stackoverflow.com/questions/34837006/excel-vba-add-code-to-sheet-module-programmatically
반응형
'source' 카테고리의 다른 글
패키지 오라클 내부의 모든 프로시저 목록을 가져오는 방법 (0) | 2023.07.01 |
---|---|
파일을 특정 버전으로 재설정하거나 되돌리는 방법은 무엇입니까? (0) | 2023.07.01 |
저장소 전체를 먼저 체크아웃하지 않고 스파스 체크아웃이 가능합니까? (0) | 2023.07.01 |
MongoError: 노드 js에서 알 수 없는 수식어: $pushAll (0) | 2023.07.01 |
MongoDB와 Postgre 중에서 선택하는 방법GIS용 SQL? (0) | 2023.06.26 |