카테고리 없음2025. 8. 10. 21:44

(1) 키움 화면번호 0343 - 기간별 주문체결상세 에서 엑셀로 보내기

(2) 엑셀에서 Alt+F11 눌러서 VBA(Visual Basic Application) 실행하고, 삽입-모듈 메뉴선택. 

(3) 2개 행을 1개 행으로 병합하는 스크립트 붙여 넣고 F5 눌러서 실행

 

 

 

엑셀에서 Alt+F11 누르고 삽입-모듈 선택

 

아래 스크립트를 붙여넣고, F5 눌러서 실행

 

프롬프트를 이용해서 chatGPT로 만듦

https://chatgpt.com/share/689895cb-d404-8010-b0f2-1c2443c9eab2

더보기

엑셀 VBA 프로그램 작성. 짝수번째 행의 내용을 홀수번째 행의 뒤쪽에 이어 붙이고, 짝수번째 행은 삭제해. 이 동작을 맨 마지막 행까지 수행.

Sub MergeEvenRowsToOdd()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim r As Long
    Dim lastColOdd As Long, lastColEven As Long
    
    Set ws = ThisWorkbook.ActiveSheet
    
    Application.ScreenUpdating = False
    
    ' 마지막 행 찾기
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' 아래에서 위로 반복 (삭제 시 인덱스 꼬임 방지)
    For r = lastRow To 2 Step -1
        If r Mod 2 = 0 Then ' 짝수 행이면
            ' 홀수 행의 마지막 열 찾기
            lastColOdd = ws.Cells(r - 1, ws.Columns.Count).End(xlToLeft).Column
            ' 짝수 행의 마지막 열 찾기
            lastColEven = ws.Cells(r, ws.Columns.Count).End(xlToLeft).Column
            
            ' 짝수 행 내용을 홀수 행 뒤에 붙이기
            ws.Range(ws.Cells(r, 1), ws.Cells(r, lastColEven)).Copy _
                Destination:=ws.Cells(r - 1, lastColOdd + 1)
            
            ' 짝수 행 삭제
            ws.Rows(r).Delete
        End If
    Next r
    
    Application.ScreenUpdating = True
End Sub

 

 

종목번호 앞에 작은따옴표 붙여준다  =CONCATENATE("'",D2)

 

필요한 열을 구글 시트로 복사한다

Posted by orasman