외부 매크로 실행 오류 입니다.



  • 안녕하세요 선보공업 안정빈 부장 입니다.

    외부 매크로를 실행 하면
    매크로를 실행할 수 없습니다. 이 통합 문서에서 사용할 수 없는 매크로이거나 모든 매크로를 사용하지 못할 수 있습니다.
    라고 뜨면서 실행이 안되네요.

    참고로 매크로 파일은 xlsm 에서 정상 작동되던 매크로 입니다.

    감사합니다.
    [1_1594343296538_미입고현황.zml](100% 업로드 중) [0_1594343296537_미입고현황.txt](100% 업로드 중)
    [0_1594343323319_미입고현황.txt](100% 업로드 중) 미입고현황.zml

    매크로 파일

    Sub zRun()
    '변수 선언
    Dim i, j, k As Integer
    Dim xFile As String
    Dim xMaxRow As Integer

    On Error GoTo End_Load

    '업체 명으로 정렬
    Cells.Select
    ActiveWorkbook.WorkSheets(Sheet1).Sort.SortFields.Clear
    ActiveWorkbook.WorkSheets(Sheet1).Sort.SortFields.Add2 Key:=Range( _
    "C2:C38"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal
    ActiveWorkbook.WorkSheets(Sheet1).Sort.SortFields.Add2 Key:=Range( _
    "BC2:BC38"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal
    With ActiveWorkbook.WorkSheets(Sheet1).Sort
    .SetRange Range("A1:BC38")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    Range("A1").Select

    '업체 저장용 시트 생성
    Sheets.Add After:=ActiveSheet
    ActiveSheet.Name = "업체"
    
    Sheets("업체").Select
    Cells.Select
    Selection.ClearContents
    Range("A1").Select
    
    '거래업체별 엑셀 만들기
    i = 2 'Total 정렬 제일 위 오류 해결
    xMaxRow = 1
    
    Do Until Sheets(Sheet1).Range("C" & i) = ""
        i = i + 1
        
        '시작줄 확인
        If Sheets(Sheet1).Range("C" & i) <> Sheets(Sheet1).Range("C" & i - 1) Then
            j = i
        
        End If
        
        '끝줄 확인
        If Sheets(Sheet1).Range("C" & i) <> Sheets(Sheet1).Range("C" & i + 1) Then
            k = i
            
            'sheets("업체")에 값 입력
            Sheets("업체").Range("A" & xMaxRow) = Sheets(Sheet1).Range("C" & i)
            Sheets("업체").Range("B" & xMaxRow) = Sheets(Sheet1).Range("BC" & i)
            
            xMaxRow = xMaxRow + 1
            
            '파일 이름
            xFile = Sheets(Sheet1).Range("C" & i)
            
            '파일 새로 만들어 저장
            Rows(j & ":" & k).Select
            Selection.Copy
            Workbooks.Add
            
            ActiveSheet.Range("A1") = "No"
            ActiveSheet.Range("B1") = "발주일"
            ActiveSheet.Range("C1") = "거래업체"
            ActiveSheet.Range("D1") = "SCM"
            ActiveSheet.Range("E1") = "발주번호"
            ActiveSheet.Range("F1") = "확정"
            ActiveSheet.Range("G1") = "행번"
            ActiveSheet.Range("H1") = "W/S"
            ActiveSheet.Range("I1") = "수주번호"
            ActiveSheet.Range("J1") = "순번"
            ActiveSheet.Range("K1") = "호선"
            ActiveSheet.Range("L1") = "제품(Item)"
            ActiveSheet.Range("M1") = "피팅No"
            ActiveSheet.Range("N1") = "품목코드"
            ActiveSheet.Range("O1") = "품명"
            ActiveSheet.Range("P1") = "규격"
            ActiveSheet.Range("Q1") = "후1내"
            ActiveSheet.Range("R1") = "후1외"
            ActiveSheet.Range("S1") = "후2내"
            ActiveSheet.Range("T1") = "후2외"
            ActiveSheet.Range("U1") = "두께(T)"
            ActiveSheet.Range("V1") = "폭(W)"
            ActiveSheet.Range("W1") = "길이(L)"
            ActiveSheet.Range("X1") = "내경"
            ActiveSheet.Range("Y1") = "외경"
            ActiveSheet.Range("Z1") = "단위"
            ActiveSheet.Range("AA1") = "발주수량"
            ActiveSheet.Range("AB1") = "중량"
            ActiveSheet.Range("AC1") = "Dia.Inch"
            ActiveSheet.Range("AD1") = "입고량"
            ActiveSheet.Range("AE1") = "기준"
            ActiveSheet.Range("AF1") = "발주단가"
            ActiveSheet.Range("AG1") = "발주금액"
            ActiveSheet.Range("AH1") = "입고단가"
            ActiveSheet.Range("AI1") = "입고금액"
            ActiveSheet.Range("AJ1") = "현재단가"
            ActiveSheet.Range("AK1") = "이전단가"
            ActiveSheet.Range("AL1") = "입고일"
            ActiveSheet.Range("AM1") = "입하번호"
            ActiveSheet.Range("AN1") = "▼"
            ActiveSheet.Range("AO1") = "CR(%)"
            ActiveSheet.Range("AP1") = "CR 금액"
            ActiveSheet.Range("AQ1") = "선급"
            ActiveSheet.Range("AR1") = "가단가"
            ActiveSheet.Range("AS1") = "입고처"
            ActiveSheet.Range("AT1") = "POR번호"
            ActiveSheet.Range("AU1") = "수정코드"
            ActiveSheet.Range("AV1") = "비고"
            ActiveSheet.Range("AW1") = "입고요청일"
            ActiveSheet.Range("AX1") = "POR부서"
            ActiveSheet.Range("AY1") = "POR발행자"
            ActiveSheet.Range("AZ1") = "재료비산출제외"
            ActiveSheet.Range("BA1") = "수주사업장"
            ActiveSheet.Range("BB1") = "생산공장"
            ActiveSheet.Range("BC1") = "협력사 E-Mail"
    
            ActiveSheet.Range("A2").Select
            
            ActiveSheet.Paste
            
            Cells.Select
            
            Cells.EntireColumn.AutoFit
            With Selection
                .HorizontalAlignment = xlLeft
                .VerticalAlignment = xlCenter
                .WrapText = False
                .Orientation = 0
                .AddIndent = False
                .IndentLevel = 0
                .ShrinkToFit = False
                .ReadingOrder = xlContext
                .MergeCells = False
            End With
            With Selection
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
                .WrapText = False
                .Orientation = 0
                .AddIndent = False
                .IndentLevel = 0
                .ShrinkToFit = False
                .ReadingOrder = xlContext
                .MergeCells = False
            End With
            
            Application.CutCopyMode = False
            ChDir "C:\Users\user\Documents\0_RPA\2020-07-08_미입고관리\미입고현황"
            ActiveWorkbook.SaveAs Filename:= _
            "C:\Users\user\Documents\0_RPA\2020-07-08_미입고관리\미입고현황\" & xFile & ".xlsx", FileFormat _
            :=xlOpenXMLWorkbook, CreateBackup:=False
            ActiveWindow.Close
            
        End If
        
    Loop
    
    Sheets(Sheet1).Select
    Range("A1").Select
    
    Exit Sub
    
    MsgBox "업체 분리 완료"
    

    End_Load:
    Resume Next

    End Sub



  • 안녕하세요.
    문의 내용 답변 드립니다.

    확인 결과, 스크립트 파일이 잘못 업로드되어 있어 테스트가 어렵습니다.
    스크립트 파일 재업로드가 필요합니다.
    매크로 소스 별도 테스트 시 무한루프에 빠지는 것으로 보아 해결을 위해서는 소스 재확인을 권장드립니다.

    감사합니다.


Log in to reply