선택하여 붙여넣기(ctrl alt v) 작동안되는 이유 문의

VBA
작성자
유준상
작성일
2024-05-02 16:41
조회
2968
엑셀버전 : 엑셀2019

운영체제 : 윈도우10

질문 요약 : 선택하여 붙여넣기가 안되요!!!

안녕하세요. 항상 오빠두 엑셀 사이트를 애용하고 있는 유저입니다.

현재, 제 엑셀 기능 중 다음 증상으로 애로사항을 겪고 있어 문의드립니다.

 

증상 : CTRL + C 한 이후에 CTRL + ALT + V 단축키를 사용하여 붙여넣기를 하면 원래 값을 복사할 것인지, 수식을 복사할 것인지 에 대한 선택 팝업창이 떴는데, 지금은 창이 뜨지 않고 바로 값만 복사가 됩니다. 추가로, 붙여넣기가 되면서 동시에 뒤로 돌리기(CTRL + Z)가 안됩니다.

 

원래는 잘 되었었는데, 최근 VBA 함수를 사용한다고 모듈에 함수생성하여 사용한 이후로 단축키 적용이 안되는 듯 합니다. (예상)

 

  1. VBA 함수가 포함된 시트에서는 CTRL +C  이후, CTRL ALT V 사용 시, 아래와 같은 팝업창이 뜹니다.
  2. VBA 함수가 포함되지 않은 시트에서는 위에서 처럼 붙여넣기가 되지만, 팝업창이 뜨지 않고 값만 복사가 됩니다.
  3. 물론 마우스로 클릭하여 붙여넣기하는 것은 VBA 모듈이 있든 없든 다 잘됩니다.

 

뭔가 VBA 코딩 시, 단축키가 중복되는 뭔가가 추가된 듯 한데, 왜 선택하여 붙여넣기가 안되는지 이해가 안됩니다.

그래서 제가 쓰고 있는 컴퓨터에 사용 중인 모듈 총 4개를 모두 메모장에 적어드립니다.

어느 코딩을 어떻게 바꾸면 이 문제가 해결되는지 고수분들의 빠르고 친절한 답변 부탁드립니다.

혹시 VBA 추가가 아닌 다른 방법으로 해결가능하다면 말씀 부탁드립니다.

 

1. VBA - Module1 (첫번째 엑셀파일)

Sub 데이터복사()

Dim wb As Workbook
Dim wsIssuance As Worksheet
Dim wsTechDept As Worksheet
Dim wsShip1 As Worksheet
Dim wsIron1 As Worksheet
Dim wsShip2 As Worksheet
Dim wsIron2 As Worksheet
Dim wsShip3 As Worksheet
Dim wsIron3 As Worksheet
Dim lastRow As Long
Dim i As Long
Dim destSheet As Worksheet

' 현재 활성화된 워크북 가져오기
Set wb = ThisWorkbook

' 시트들을 변수에 할당
Set wsIssuance = wb.Sheets("발행현황")
Set wsTechDept = wb.Sheets("기술과")
Set wsShip1 = wb.Sheets("1과-배")
Set wsIron1 = wb.Sheets("1과-철")
Set wsShip2 = wb.Sheets("2과-배")
Set wsIron2 = wb.Sheets("2과-철")
Set wsShip3 = wb.Sheets("3과-배")
Set wsIron3 = wb.Sheets("3과-철")

' Issuance 시트의 마지막 행 찾기
lastRow = wsIssuance.Cells(wsIssuance.Rows.Count, "D").End(xlUp).Row

' 데이터 복사
For i = 2 To lastRow
Select Case wsIssuance.Cells(i, "D").Value
Case "기술과"
If wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsTechDept
End If
Case "선장1"
If wsIssuance.Cells(i, "E").Value = "배관" Then
Set destSheet = wsShip1
ElseIf wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsIron1
End If
Case "선장2"
If wsIssuance.Cells(i, "E").Value = "배관" Then
Set destSheet = wsShip2
ElseIf wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsIron2
End If
Case "선장3"
If wsIssuance.Cells(i, "E").Value = "배관" Then
Set destSheet = wsShip3
ElseIf wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsIron3
End If
End Select

' 목적 시트에 데이터 복사
If Not destSheet Is Nothing Then
wsIssuance.Rows(i).Copy destSheet.Range("A" & destSheet.Cells(destSheet.Rows.Count, "A").End(xlUp).Row + 1)
Set destSheet = Nothing
End If
Next i

' 클립보드 초기화
Application.CutCopyMode = False

MsgBox "데이터 복사가 완료되었습니다.", vbInformation

End Sub

 

2. VBA - Module2 (첫번째 엑셀파일)

Sub 데이터복사()

Dim wb As Workbook
Dim wsIssuance As Worksheet
Dim wsTechDept As Worksheet
Dim wsShip1 As Worksheet
Dim wsIron1 As Worksheet
Dim wsShip2 As Worksheet
Dim wsIron2 As Worksheet
Dim wsShip3 As Worksheet
Dim wsIron3 As Worksheet
Dim lastRow As Long
Dim i As Long
Dim destSheet As Worksheet

' 현재 활성화된 워크북 가져오기
Set wb = ThisWorkbook

' 시트들을 변수에 할당
Set wsIssuance = wb.Sheets("발행현황")
Set wsTechDept = wb.Sheets("기술과")
Set wsShip1 = wb.Sheets("1과-배")
Set wsIron1 = wb.Sheets("1과-철")
Set wsShip2 = wb.Sheets("2과-배")
Set wsIron2 = wb.Sheets("2과-철")
Set wsShip3 = wb.Sheets("3과-배")
Set wsIron3 = wb.Sheets("3과-철")

' Issuance 시트의 마지막 행 찾기
lastRow = wsIssuance.Cells(wsIssuance.Rows.Count, "D").End(xlUp).Row

' 데이터 복사
For i = 2 To lastRow
Select Case wsIssuance.Cells(i, "D").Value
Case "기술과"
If wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsTechDept
End If
Case "선장1"
If wsIssuance.Cells(i, "E").Value = "배관" Then
Set destSheet = wsShip1
ElseIf wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsIron1
End If
Case "선장2"
If wsIssuance.Cells(i, "E").Value = "배관" Then
Set destSheet = wsShip2
ElseIf wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsIron2
End If
Case "선장3"
If wsIssuance.Cells(i, "E").Value = "배관" Then
Set destSheet = wsShip3
ElseIf wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsIron3
End If
End Select

' 목적 시트에 데이터 복사
If Not destSheet Is Nothing Then
wsIssuance.Rows(i).Copy destSheet.Range("A" & destSheet.Cells(destSheet.Rows.Count, "A").End(xlUp).Row + 1)
Set destSheet = Nothing
End If
Next i

' 클립보드 초기화
Application.CutCopyMode = False

MsgBox "데이터 복사가 완료되었습니다.", vbInformation

End Sub

 

3. VBA - Module1 (두번째 엑셀파일)

Sub 데이터복사()

Dim wb As Workbook
Dim wsIssuance As Worksheet
Dim wsTechDept As Worksheet
Dim wsShip1 As Worksheet
Dim wsIron1 As Worksheet
Dim wsShip2 As Worksheet
Dim wsIron2 As Worksheet
Dim wsShip3 As Worksheet
Dim wsIron3 As Worksheet
Dim lastRow As Long
Dim i As Long
Dim destSheet As Worksheet

' 현재 활성화된 워크북 가져오기
Set wb = ThisWorkbook

' 시트들을 변수에 할당
Set wsIssuance = wb.Sheets("발행현황")
Set wsTechDept = wb.Sheets("기술과")
Set wsShip1 = wb.Sheets("1과-배")
Set wsIron1 = wb.Sheets("1과-철")
Set wsShip2 = wb.Sheets("2과-배")
Set wsIron2 = wb.Sheets("2과-철")
Set wsShip3 = wb.Sheets("3과-배")
Set wsIron3 = wb.Sheets("3과-철")

' Issuance 시트의 마지막 행 찾기
lastRow = wsIssuance.Cells(wsIssuance.Rows.Count, "D").End(xlUp).Row

' 데이터 복사
For i = 2 To lastRow
Select Case wsIssuance.Cells(i, "D").Value
Case "기술과"
If wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsTechDept
End If
Case "선장1"
If wsIssuance.Cells(i, "E").Value = "배관" Then
Set destSheet = wsShip1
ElseIf wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsIron1
End If
Case "선장2"
If wsIssuance.Cells(i, "E").Value = "배관" Then
Set destSheet = wsShip2
ElseIf wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsIron2
End If
Case "선장3"
If wsIssuance.Cells(i, "E").Value = "배관" Then
Set destSheet = wsShip3
ElseIf wsIssuance.Cells(i, "E").Value = "의장" Then
Set destSheet = wsIron3
End If
End Select

' 목적 시트에 데이터 복사
If Not destSheet Is Nothing Then
wsIssuance.Rows(i).Copy destSheet.Range("A" & destSheet.Cells(destSheet.Rows.Count, "A").End(xlUp).Row + 1)
Set destSheet = Nothing
End If
Next i

' 클립보드 초기화
Application.CutCopyMode = False

MsgBox "데이터 복사가 완료되었습니다.", vbInformation

End Sub

 

4. VBA - Module2 (두번째 엑셀파일)

Sub 데이터삭제()
Dim ws As Worksheet
Dim rng As Range

' 기존 시트에서 데이터 삭제
DeleteValuesFromSheet "기술과"
DeleteValuesFromSheet "1과-배"
DeleteValuesFromSheet "1과-철"
DeleteValuesFromSheet "2과-배"
DeleteValuesFromSheet "2과-철"
DeleteValuesFromSheet "3과-배"
DeleteValuesFromSheet "3과-철"

End Sub

Sub DeleteValuesFromSheet(sheetName As String)
Dim ws As Worksheet
Dim rng As Range

On Error Resume Next ' 시트가 존재하지 않을 경우를 대비하여 에러 처리

' 시트 찾기
Set ws = ThisWorkbook.Sheets(sheetName)

On Error GoTo 0 ' 에러 처리 종료

' 시트가 존재하는 경우에만 작업 실행
If Not ws Is Nothing Then
' 삭제할 범위 지정
Set rng = ws.Range("A3:AJ1200")

' 범위의 내용 삭제
rng.ClearContents

' 선택적: 서식도 삭제
' rng.ClearFormats

' 선택적: 코멘트도 삭제
' rng.ClearComments
End If
End Sub

 

신고
스크랩
공유
전체 3

  • 2024-05-02 17:17

    @유준상 님 파일을 올려 주시지 않는다면, 어느 부분에서 에러가 나는지 표시해 주세요.
    모든 매크로는 되돌리기 기록을 삭제하므로 되돌리기가 되지 않는 게 정상입니다.


    • 2024-05-02 18:03

      @원조백수 님 댓글 주셔셔 감사합니다. 댓글을 읽다보니, 선택하여 붙여넣기가 매크로로 작동되어질 수 있다는 생각이 번뜩 들어서요. 제가 만든 매크로는 에러 없이 잘 돌아갑니다만, 혹시 선택하여 붙여넣기가 제 매크로 안에 있나요? (Chat gpt로 만들어서 결과만 원하는 결과가 나오게 하여 실제로는 VBA가 어떻게 돌아가는지 내용을 모릅니다...)


      • 2024-05-02 20:55

        @유준상 님 복사사 진행되는 코드는 아래 부분입니다.
        wsIssuance.Rows(i).Copy destSheet.Range("A" & destSheet.Cells(destSheet.Rows.Count, "A").End(xlUp).Row + 1)


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