본문 바로가기
VBA

[VBA] 엑셀 내용을 메모장으로 옮겨보자

by 일등미노왕국 2022. 10. 24.

  본인도 텍스트파일을 다루는것이 쉽지 않다.

코드를 보면 포인트 조합하는 부분과 해당 엑셀 파일의 일부 행을 조합하여 텍스트 파일로 만드는 걸로 되어 있다.

 

이런 코드들은 잘 안쓰는데 막상 사용하려면 짜증날 정도로 내입맛에 맞는 코드가 없다.

 

참고하여 당신이 만들고자 하는 매크로에 이용하시길 바란다.

 

더보기
Sub 포인트조합()
    
    Dim strFile As String
    Dim Cnt&, i&
    Dim cntFree&
    Dim rngAll As Range: Set rngAll = Range([b2], [c2].End(4))
    Dim rngA As Range
    Dim Str$
    Dim sNum$
    
    For Each rngA In rngAll.Columns(1).Cells
        sNum = Format(rngA, "#")
    
        Str = sNum & ",1," & rngA.Next                '= 포인트 조합구문
        rngA.Offset(, 2) = Str
       
    Next rngA
    
    Cnt = rngAll.Rows.Count
  
    Set rngAll = Range([d2], [d2].End(4))
    
    strFile = Application.GetSaveAsFilename("제목 없음", FileFilter:="TXT File(*.txt),*txt", _
      Title:="저장하고자 하는 화일명을 입력하세요.")
      
    If UCase(strFile) = "FALSE" Then Exit Sub        '= 대문자가 없다면 / 즉 파일이름없이 저장이 되었다면 종료해라
      
        cntFree = FreeFile                           '= 텍스트 파일
        Open strFile For Output As #cntFree
        
            For i = 1 To Cnt
              Print #cntFree, rngAll(i, 1).Text      '= 전체 영역만큼 텍스트 파일을 한행 한행을 인쇄해라
            Next i
            
        Close cntFree
        Shell "rundll32.exe url.dll,FileProtocolHandler " & strFile, vbNormalFocus  '= 미리보기
End Sub

포이트조합매크로.xlsm
0.07MB

댓글