본문 바로가기

전체 글364

[기초방] VBA 100제 #97 [시트 요약하기] 📊 VBA와 ADODB로 동적 데이터 계산 자동화이 포스팅에서는 VBA와 ADODB를 활용해 엑셀 시트의 데이터를 SQL 쿼리로 처리하고, 과목별 평균 점수와 응시자 수를 계산하는 방법을 소개한다. 더보기Option ExplicitSub 기초방97() Dim strConn As String Dim Rs As New ADODB.Recordset Dim ws As Worksheet Dim 월, 과목, 결과 Dim i&, j& Dim strSQL$, strPath$ Dim 테이블범위$, 시트명$ Dim 평균값@, 응시자수& ' 현재 워크북의 전체 경로를 가져옴 strPath = ThisWorkbook.FullName ' .. 2024. 10. 27.
[기초방] VBA 100제 #96 [데이터를 PIVOT 시키기 feat. ADODB] VBA로 피벗 테이블 생성: ADODB 매크로 완벽 정복 🎯1. 코드 설명 📝이 매크로는 엑셀의 VBA에서 ADODB를 활용해 SQL 쿼리를 사용하고, 피벗 테이블과 유사한 형태로 데이터를 집계해 셀에 출력한다. `TRANSFORM` 쿼리를 통해 여러 과목의 점수를 이름별로 집계해주는 기능을 한다.2. 코드 전체Option ExplicitSub Haja_Guid_Pivot() Dim StrGuid$: StrGuid = "{B691E011-1797-432E-907A-4D8C69339129}" ' = ADODB 참조 On Error Resume Next ThisWorkbook.VBProject.References.AddFromGuid StrGuid, 0, 0 ' = 최신 버.. 2024. 10. 26.
[기초방] VBA 100제 #95-1 [열을 역순으로 복사 feat. ADODB] 1. 코드에 한글 주석 추가 및 설명 📝더보기vbaOption Explicit ' 변수 선언을 강제하여 코드의 안정성을 높임Sub Haja_Guid_ADODB() ' ADODB 참조를 위한 GUID를 문자열로 선언 Dim StrGuid$: StrGuid = "{B691E011-1797-432E-907A-4D8C69339129}" ' 오류 발생 시 무시하고 다음 코드로 넘어감 (참조 추가 시 에러 방지) On Error Resume Next ' 가장 최신 버전의 ADODB를 참조에 추가함 ThisWorkbook.VBProject.References.AddFromGuid StrGuid, 0, 0 On Error GoTo 0 ' 이후 코드에서 정.. 2024. 10. 25.
[기초방] VBA 100제 #95 [열을 역순으로 복사] 📋 코드 구간별 설명1. 변수 선언과 범위 설정rngAll: B4범위를 선택해 이 범위의 **모든 열(Column)**을 순회할 준비를 한다.rngX: 복사한 데이터를 붙여넣을 시작 지점으로 V4 셀이 설정된다.Vtemp: 각 열의 데이터를 임시로 저장하는 배열 변수로 사용된다.rngA: 반복문에서 각 열을 처리할 임시 변수로 사용된다.2. 반복문 (For Each)을 통한 열 단위 순회**rngAll.Columns**를 사용해 B4범위의 열 단위로 순회한다.매 반복마다 현재 열의 데이터를 배열 형태로 Vtemp에 저장한다.이때, 2차원 배열로 저장되어 각 행의 데이터가 그대로 유지된다.3. 데이터 복사와 크기 조정**rngX.Resize**를 사용해 V4부터 시작하는 셀의 행 크기를 Vtemp 배열 .. 2024. 10. 25.