VBA를 실행하면 다른 PC에서는 괜찮은데, 딱 한 PC에서만 400에러가 납니다.

VBA
작성자
수메리안
작성일
2023-07-26 19:29
조회
2626
엑셀버전 : 엑셀2019

운영체제 : 윈도우10

질문 요약 : VBA로 "월별미수금.xlsm" 를 만들어 여러 PC에서 사용하고 있습니다.
그런데, 딱 한 PC에서만 400에러가 납니다.

안녕하세요, 고수님들^^

언제나 이곳에서 나름 열심히 공부하면서 이것 저것 회사 실무에 적용하고 있는 중입니다^^
항상 감사드리며, 아래 VBA로 "월별미수금.xlsm" 를 만들어 여러 PC에서 사용하고 있습니다.
그런데, 딱 한 PC에서만 400에러가 납니다.
왜 그럴까요?
엑셀을 지우고 새로 설치해 봤는데... 역시나 에러가 발생합니다.

실행순서는 ERP에서 "거래처별채권.xlsx" 엑셀을 다운받아 열고 미리 리본메뉴에 등록한 매크로 버튼을 실행하면


바로 400에러 뜹니다. 그런데 월별미수금.xlsm실행시키고

각각의 버튼(코딩)을 실행하면 아무런 이상없이 잘 작동합니다.
다른 PC에서는 아무런 에러없이 잘 작동합니다.
고수님들의 도움을 요청드립니다.

Sub 거래처별채권복사()

Dim wb As Workbook '파일
On Error Resume Next ' 에러검출 안함
Set wb = Workbooks("월별미수금.xlsm") ' 기존 오픈된 문서중에 해당 파일을 wb에 설정해서

If Err Then ' 에러가 나면 오픈되지 않은 상태 이므로
Dim sPath$
sPath = ThisWorkbook.Path & "\월별미수금.xlsm" ' 현재폴더의 파일 지정
If Dir(sPath) = Empty Then ' 파일이 있는지 검사해서 해당 파일이 없으면
MsgBox "파일을 찾을 수 없습니다...!" ' 메세지 출력후
Exit Sub ' 종료
Else ' 해당 파일이 있으면
Set wb = Workbooks.Open(sPath) ' 파일을 오픈해서 wb에 설정
ThisWorkbook.Activate ' 오픈된파일이 액티브 되므로 현재파일 액티브
End If
End If

On Error GoTo 0 ' 에러 검출 재게

Sheets("거래처별채권").Move Before:=wb.Sheets("sheet3") ' 시트복사
End Sub
Sub 보고서만들기()

Dim i As Integer
Dim endrow As Integer
Dim FindValue As Variant
Dim endcell As Integer

With ActiveSheet
.Name = Format(Date, "mm월dd일") & "_거래처별채권보고서"
End With

On Error Resume Next ' 에러검출 안함

ActiveSheet.Cells(1, 1).Select
ActiveSheet.Columns("A").Delete
ActiveSheet.Columns("B:E").Delete
ActiveSheet.Columns("C").Delete

ActiveSheet.Cells(1, 1).Value = "거래처별채권"

ActiveSheet.Cells(1, 1).Select
With Selection
.Interior.ColorIndex = 1 '제목칼라
.Font.Color = vbWhite '폰트칼라
.HorizontalAlignment = xlCenter
End With

'// 잔액이 0이하 행 삭제

endrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

For i = endrow To 2 Step -1

If Cells(i, 2) <= 0 Then

ActiveSheet.Range("a" & i).Resize(, 2).Delete Shift:=xlUp

Else

End If
Next
'//잔액합계구하기
endcell = ActiveSheet.Cells(Rows.Count, "a").End(xlUp).Row
ActiveSheet.Cells(Rows.Count, 2).End(3).Value = Application.WorksheetFunction.Sum(Range("b3", "b" & endcell))

'//서식만들기
ActiveSheet.Range("C:C").ColumnWidth = 5
ActiveSheet.Range("D:D").ColumnWidth = 22
ActiveSheet.Range("E:E").ColumnWidth = 15

Range("A2:B2").Copy
Range("D2").Select
ActiveSheet.Paste

Range("A44 : B84").Cut
Range("D3").Select
ActiveSheet.Paste

Range("A44 : B84").EntireRow.Delete Shift:=xlUp

Range("A44").EntireRow.Insert Shift:=xlDown

Range("A2:E2").Copy
Range("A44").Select
ActiveSheet.Paste

Range("A87 : B129").Cut
Range("D45").Select
ActiveSheet.Paste

Range("A87 : B129").EntireRow.Delete Shift:=xlUp

'// 거래처미수금 인쇄셋팅()

With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0) '◀왼쪽 여백
.RightMargin = Application.InchesToPoints(0) '◀오른쪽 여백
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.PrintErrors = xlPrintErrorsDisplayed
End With

Range("A1").Select

Range("D1:E1").Select '날짜 설정와 타이틀 설정
With Selection
.HorizontalAlignment = xlRight
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge

ActiveCell.FormulaR1C1 = Format(Now, "yyyy" & "년" & "mm" & "월" & "dd" & "일") '타이틀제목

End Sub
Sub 출력물만들기()

Dim i As Integer
Dim endrow As Long

On Error Resume Next ' 에러검출 안함

endrow = ActiveSheet.Cells(Rows.Count, "D").End(xlUp).Row

ActiveSheet.Rows(endrow + 3).Delete
ActiveSheet.Rows(endrow + 2).Delete
ActiveSheet.Rows(endrow + 1).Delete

ActiveSheet.Rows(1).Delete
ActiveSheet.Columns("A:B").Delete
ActiveSheet.Columns("E:F").Delete
ActiveSheet.Columns("F:G").Delete
' ActiveSheet.Columns("E:F").Delete

endrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

For i = endrow To 2 Step -1
If Cells(i, 4) = "" And Cells(i, 6) = "" Then
Rows(i).Delete
Else
End If
Next

endrow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
For i = endrow To 2 Step -1
If Cells(i, 4) = "" And Cells(i, 5) = "" Then
Rows(i).Delete
Else
End If
Next

ActiveSheet.Range("E1") = "현금"

With ActiveSheet
.Name = Format(Date, "mm월dd일") & "_일일거래처별채권"
End With
'ActiveWorkbook.Close
End Sub

신고
스크랩
공유
회원등급 : 10레벨
포인트 : 747 EP
총질문 : 25 개 (마감율 : 80%)
채택답변 : 1 개
전체 6

  • 2023-07-26 20:22

    @수메리안 님 이 매크로는 어느 파일인가요?


    • 2023-07-27 18:31

      @원조백수 님 첨부파일에 올린 월별미수금.xlsm 입니다~

       


  • 2023-07-27 21:10

    @수메리안 님 설명하신 내용중에 리본메뉴에서 실행하는 매크로는 어떤 것이고,

    어느 부분에서 400 에러가 나는지 표시해 주세요.


    • 2023-07-28 09:17

      @원조백수 님 관심을 가져 주셔서 감사합니다^^
      1. 보통 사무실 다른 여러 PC에서는 월별미수금.xlsm 을 열어 놓지 않고 ERP에서  "거래처별채권.xlsx" 를 다운받아 거래처별채권.xlsx를 열어놓고 리본메뉴의 거래처별채권복사 버튼을 클릭하면 자동으로 월별미수금.xlsm 이 열리고 거래처별채권 시트를 월별미수금.xlsm으로 복사해 옵니다. 그리고 다른 리본버튼들의 작업들을 에러없이 잘 수행합니다.
      2. 그런데 유독 한 PC에서만 1번 작업을 수행하면 400에러가 나는데... Sub 거래처별채권복사() ~ End Sub 이 부분에서 에러가 납니다. 서치해 보니 400에러의 원인이 다양하게 있어 이리저리 해보다 해결이 나지 않아 문의 드립니다.
      3. 참고로 윈도우10, 엑셀2021로 해서 혹시나 버전문제가 하여 엑셀2019로 다시 재설치해도 똑같은 증상입니다.
      어떤 문제일까요?
      감사합니다~


      • 2023-07-28 09:48

        @수메리안 님 우선 리본메뉴에 있다는 말은 다른 추가 기능이 있다는 것으로 보이네요.

        리본 메뉴에 추가 기능이 있으면 그 추가 기능파일의 매크로에서 처리하면 되는데 굳이 다시 매크로 파일을 불러 들이는 이유를 알 수 없어서 여쭤 본 것입니다.

        추가기능을 사용중이시라면 그 추가기능에서 매크로 전체를 실행할 수 있도록 하거나,

        아니면 월별미수금.xlsm파일에 리본메뉴를 넣고, 이 파일을 먼저 열어서 작업하도록 하는 것이 좋겠습니다.

         

         


        • 2023-07-28 12:02

          @원조백수 님 아~ 제가 리본메뉴를 만든 것입니다~
          각각의 매크로를 사용하기 편하게 리본메뉴에서 거래처별미수현황탭을 만들고 미수현황그룹을 만들고 거래처별채권복사 버튼|보고서만들기버튼|출력물만들기버튼 을 만들어 각각의 버튼을 실행하면서 시트를 편집하고 보고서및 출력물을 만드는 작업입니다~
          향후 인쇄물이라든지 여러가지 매크로를 만들어 리본메뉴 버튼을 추가할 예정입니다~


전체 18,532
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (315)
오빠두엑셀 | 2022.02.03 | 추천 575 | 조회 609746
오빠두엑셀 2022.02.03 575 609746
공지사항 문서서식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (197)
오빠두엑셀 | 2021.10.28 | 추천 310 | 조회 35541
오빠두엑셀 2021.10.28 310 35541
78582 함수/공식
New 조건 함수 의 관한 문의 엑셀파일첨부파일 (4) 답변완료
예쁜나야 | 15:46 | 추천 0 | 조회 41
예쁜나야 15:46 - 41
78580
New 날짜와 시간 분할 방법 알려 주세요 엑셀파일첨부파일 (1) 답변완료
계양산 지기 | 15:14 | 추천 0 | 조회 32
계양산 지기 15:14 - 32
78575 VBA
New 엑셀 재고관리 프로그램 문의드립니다.. 첨부파일 (1)
SJ | 04:23 | 추천 0 | 조회 67
SJ 04:23 - 67
78570 대시보드
New 대시보드에 표 형식으로 표현도 가능한가요? 첨부파일 (2)
룰루랄라 | 2025.05.12 | 추천 0 | 조회 71
룰루랄라 2025.05.12 - 71
78569 함수/공식
New 서로 다른 양식의 견적서 엑셀 파일 한곳에 정리 하기 (5)
gh**** | 2025.05.12 | 추천 0 | 조회 96
gh**** 2025.05.12 - 96
78565 함수/공식
New 검색보고서 만들기 질문드립니다. 엑셀파일 (9) 답변완료
만식이햄 | 2025.05.12 | 추천 0 | 조회 83
만식이햄 2025.05.12 - 83
78563 VBA
New VBA 수정 부탁드립니다. ㅠ (3)
서비 | 2025.05.12 | 추천 0 | 조회 74
서비 2025.05.12 - 74
78560 함수/공식
New 어떻게 내용을 가져올수 있을지 고수님들의 해결방법들을 공유 받고 싶습니다!!.... 엑셀파일첨부파일 (2)
꾸르형 | 2025.05.12 | 추천 0 | 조회 44
꾸르형 2025.05.12 - 44
78559 파워쿼리/피벗
New 엑셀 자동화 질문 입니다... 엑셀파일 (2) 답변완료
안녕하세여11 | 2025.05.12 | 추천 0 | 조회 65
안녕하세여11 2025.05.12 - 65
78555 함수/공식
New 시트에서 원하는 열의 자료만 가져오고싶은데 아무리 해도 수식오류가 나서 도움을 구하고자 합니다 엑셀파일 (4) 답변완료
khs**** | 2025.05.12 | 추천 0 | 조회 41
khs**** 2025.05.12 - 41
78554 함수/공식
New 변동하는 절대참조값 적용 (6) 답변완료
화이또! | 2025.05.12 | 추천 0 | 조회 65
화이또! 2025.05.12 - 65
78553 대시보드
New 대시보드_슬라이서 자동으로 눌러지게 하는방법 첨부파일 (1)
검도림 | 2025.05.12 | 추천 0 | 조회 46
검도림 2025.05.12 - 46
78548 대시보드
New 어떤 엑셀을 적용해야하는 지 문의드립니다! (1)
룰루랄라 | 2025.05.11 | 추천 0 | 조회 64
룰루랄라 2025.05.11 - 64
78546 함수/공식
New 월별 매출액 자동입력할 수 있는 방법 또는 함수 궁금합니다! 엑셀파일 (2)
mmm1010 | 2025.05.11 | 추천 0 | 조회 85
mmm1010 2025.05.11 - 85
78544 함수/공식
New 중복값 제거 함수에 관하여 엑셀파일첨부파일 (1) 답변완료
김지훈(Derek) | 2025.05.11 | 추천 0 | 조회 74
김지훈(Derek) 2025.05.11 - 74
78543 함수/공식
New 데이터 추출 및 정렬관련 초보질문 엑셀파일첨부파일 (5) 답변완료
김지훈(Derek) | 2025.05.11 | 추천 0 | 조회 69
김지훈(Derek) 2025.05.11 - 69
78540 함수/공식
New 오빠두LIVE 219회 - 엑셀 '셀 병합' 자동화 보고서 만들기 오빠두엑셀님의 방법이 궁금합니다. 첨부파일
AURIC | 2025.05.10 | 추천 0 | 조회 57
AURIC 2025.05.10 - 57
78536 함수/공식
New 월별로 금액적용후 최종월에 차액을 가감 함수가 필요해요 엑셀파일 (1) 답변완료
낮은자 | 2025.05.10 | 추천 0 | 조회 62
낮은자 2025.05.10 - 62
78535 기능/도구
New 엑셀로 25x25 인쇄가 가능한가요? (1)
망나 | 2025.05.10 | 추천 0 | 조회 47
망나 2025.05.10 - 47
78534 파워쿼리/피벗
New 쿼리에 함수 적용한 열 추가 시 24:00:00 활용한 계산 함수 필요할 때. 첨부파일 (2) 답변완료
신노스케 | 2025.05.10 | 추천 0 | 조회 62
신노스케 2025.05.10 - 62
78531 차트/그래프
New 엑셀 차트 데이터테이블 엑셀파일첨부파일 (1)
| 2025.05.09 | 추천 0 | 조회 73
2025.05.09 - 73
78530 구글시트
New 구글 스프레드시트 함수 관련 질문입니다. 엑셀파일첨부파일 (2)
동그이 | 2025.05.09 | 추천 0 | 조회 62
동그이 2025.05.09 - 62
78528 구글시트
New 구글 스프레드시트를 외부 엑셀 파일과 연동하는 방법이 궁금합니다. (3)
머우터덩 | 2025.05.09 | 추천 0 | 조회 66
머우터덩 2025.05.09 - 66
78525 문서서식
New 업무가 진행이 안 될 정도로, 해당 파일이 느립니다! 엑셀파일 (2)
빌스택스 | 2025.05.09 | 추천 0 | 조회 91
빌스택스 2025.05.09 - 91
78520 기능/도구
New 하이퍼링크 명칭 해제 (1)
min | 2025.05.09 | 추천 0 | 조회 49
min 2025.05.09 - 49
78518 피벗테이블
New 피벗테이블 관련 화살표 질문 첨부파일
이모비니 | 2025.05.09 | 추천 0 | 조회 47
이모비니 2025.05.09 - 47
78516 함수/공식
New 호봉산정 엑셀 문의드립니다. 엑셀파일첨부파일 (2) 답변완료
아르카디안 | 2025.05.08 | 추천 0 | 조회 55
아르카디안 2025.05.08 - 55
78515 함수/공식
New 엑셀 질문 드립니다.ㅠ.ㅠ 첨부파일 (1)
숲의사제 | 2025.05.08 | 추천 0 | 조회 54
숲의사제 2025.05.08 - 54
78511 함수/공식
New 입사일자로 부터 매년 알림 (2)
국빱 | 2025.05.08 | 추천 0 | 조회 66
국빱 2025.05.08 - 66
78510 문서서식
New 조건부 서식 적용 문의 엑셀파일첨부파일 (2) 답변완료
장수벌레 | 2025.05.08 | 추천 0 | 조회 99
장수벌레 2025.05.08 - 99