메인 컨텐츠로 가기

Excel의 드롭 다운 목록을 사용하여 셀 위에 복사 및 붙여 넣기를 방지하는 방법은 무엇입니까?

데이터 유효성 검사 드롭 다운 목록이있는 셀의 경우 다른 셀에서 콘텐츠를 복사하여 붙여 넣으면 드롭 다운 목록이 사라지고 새 붙여 넣기 콘텐츠로 바뀝니다. 경우에 따라 드롭 다운 목록이있는 셀 위에 다른 내용을 복사하여 붙여 넣는 것을 방지하고 싶습니다. 어떻게 처리 하시겠습니까? 이 기사에서는이 문제를 처리하는 VBA 방법에 대해 설명합니다.

Excel의 드롭 다운 목록을 사용하여 셀 위에 복사 및 붙여 넣기 방지


Excel의 드롭 다운 목록을 사용하여 셀 위에 복사 및 붙여 넣기 방지

1. 복사 및 붙여 넣기를 방지 할 드롭 다운 목록 셀이있는 워크 시트를 엽니 다.

2. 프레스 다른 + F11 동시에 열려면 키 Microsoft Visual Basic 애플리케이션 창.

3. 에서 Microsoft Visual Basic 애플리케이션 창에서 왼쪽 창에서 현재 워크 시트 이름을 두 번 클릭 한 다음 아래 VBA 코드를 복사하여 코드 편집기에 붙여 넣습니다. 스크린 샷보기 :

VBA 코드 : 드롭 다운 목록으로 셀 위에 복사 및 붙여 넣기 방지

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20200903
    Dim xValue As String
    Dim xCheck1 As String
    Dim xCheck2 As String
    Dim xRg As Range
    Dim xArrCheck1() As String
    Dim xArrCheck2() As String
    Dim xArrValue()
    Dim xCount, xJ As Integer
    Dim xBol As Boolean
'    If Target.Count > 1 Then
'        Exit Sub
'        End If
    xCount = Target.Count
    ReDim xArrCheck1(1 To xCount)
    ReDim xArrCheck2(1 To xCount)
    ReDim xArrValue(1 To xCount)
    Application.EnableEvents = False
    On Error Resume Next
    xJ = 1
    For Each xRg In Target
        xArrValue(xJ) = xRg.Value
         xArrCheck1(xJ) = xRg.Validation.InCellDropdown
        xJ = xJ + 1
    Next

    Application.Undo

    xJ = 1
    For Each xRg In Target
        xArrCheck2(xJ) = xRg.Validation.InCellDropdown
        xJ = xJ + 1
    Next

    xBol = False
    For xJ = 1 To xCount
        If xArrCheck2(xJ) <> xArrCheck1(xJ) Then
            xBol = True
            Exit For
        End If
    Next

    If xBol Then
       MsgBox "The selected cells containg data validation drop-down lists, no pasting allowed."
    Else
        xJ = 1
        For Each xRg In Target
            xRg.Value = xArrValue(xJ)
            xJ = xJ + 1
        Next

    End If

    Application.EnableEvents = True
End Sub

4. 프레스 다른 + Q 나가는 열쇠 Microsoft Visual Basic 애플리케이션 창.

5. 드롭 다운 목록이있는 셀에 내용을 붙여 넣으면 붙여 넣기가 허용되지 않음을 알리는 대화 상자가 나타납니다. 스크린 샷보기 :

주의 사항:이 VBA는 단일 셀 붙여 넣기에서 작동합니다. 여러 셀에 복사하여 붙여 넣으면 작동하지 않습니다.

Excel에서 확인란을 사용하여 드롭 다운 목록을 쉽게 만들 수 있습니다.

최대 XNUMXW 출력을 제공하는 확인란이있는 드롭 다운 목록 ~의 유용성 Excel 용 Kutools 필요에 따라 지정된 범위, 현재 워크 시트, 현재 통합 문서 또는 열려있는 모든 통합 문서의 확인란이있는 드롭 다운 목록을 쉽게 만들 수 있습니다.
지금 Excel 용 Kutools의 모든 기능을 제공하는 30 일 무료 트레일을 다운로드하십시오!


관련 기사 :

Excel에서 여러 확인란이있는 드롭 다운 목록을 만드는 방법은 무엇입니까?
많은 Excel 사용자는 시간당 목록에서 여러 항목을 선택하기 위해 여러 확인란이있는 드롭 다운 목록을 만드는 경향이 있습니다. 실제로 데이터 유효성 검사로 여러 확인란이있는 목록을 만들 수 없습니다. 이 자습서에서는 Excel에서 여러 확인란이있는 드롭 다운 목록을 만드는 두 가지 방법을 보여줍니다. 이 튜토리얼은 문제를 해결하는 방법을 제공합니다.

Excel의 다른 통합 문서에서 드롭 다운 목록 만들기
통합 문서 내의 워크 시트간에 데이터 유효성 검사 드롭 다운 목록을 만드는 것은 매우 쉽습니다. 그러나 데이터 유효성 검사에 필요한 목록 데이터가 다른 통합 문서에있는 경우 어떻게 하시겠습니까? 이 자습서에서는 Excel의 다른 통합 문서에서 드롭 fown 목록을 만드는 방법에 대해 자세히 알아 봅니다.

Excel에서 검색 가능한 드롭 다운 목록 만들기
값이 많은 드롭 다운 목록의 경우 적절한 값을 찾는 것은 쉬운 일이 아닙니다. 이전에는 드롭 다운 상자에 첫 글자를 입력 할 때 드롭 다운 목록을 자동 완성하는 방법을 도입했습니다. 자동 완성 기능 외에도 드롭 다운 목록에서 적절한 값을 찾을 때 작업 효율성을 높이기 위해 드롭 다운 목록을 검색 가능하게 만들 수도 있습니다. 드롭 다운 목록을 검색 가능하게 만들려면이 자습서의 방법을 시도하십시오.

Excel 드롭 다운 목록에서 값을 선택할 때 다른 셀 자동 채우기
셀 범위 B8 : B14의 값을 기반으로 드롭 다운 목록을 만들었다 고 가정 해 보겠습니다. 드롭 다운 목록에서 값을 선택할 때 셀 범위 C8 : C14의 해당 값이 선택한 셀에 자동으로 채워지기를 원합니다. 문제를 해결하기 위해이 튜토리얼의 방법이 도움이 될 것입니다.

드롭 다운 목록에 대한 추가 자습서 ...

최고의 사무 생산성 도구

🤖 Kutools AI 보좌관: 다음을 기반으로 데이터 분석을 혁신합니다. 지능형 실행   |  코드 생성  |  사용자 정의 수식 만들기  |  데이터 분석 및 차트 생성  |  Kutools 기능 호출...
인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  리소스 라이브러리 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...

상품 설명


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I works BUT after you put the code you cannot UNDO anything. Not a single step back is allowed.
This comment was minimized by the moderator on the site
No, I did not figure it out. I didn't try to resolve after a while.
This comment was minimized by the moderator on the site
did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
This comment was minimized by the moderator on the site
Hi Dilip, are you able to fix the issue of allowing data using paste values
This comment was minimized by the moderator on the site
Hi Dilip, are you able to fix the issue of allowing data using paste values..i am also facing the same issue..help me on this please
This comment was minimized by the moderator on the site
Thank you very much !! works fine for me !!! copying into a single cell is restricted. but if i copy a list of cells and paste.., the paste is accepted. let me see if i can tune this up ..thanks anyways
This comment was minimized by the moderator on the site
Jepson, did you manage to resolve the issue of copying and pasting into multiple cells? Thanks in advance!
This comment was minimized by the moderator on the site
Private Sub Worksheet_Change(ByVal Target As Range) Dim xValue As String Dim xCheck1 As String Dim xCheck2 As String If Target.Count > 1 Then Exit Sub End If Application.EnableEvents = False xValue = Target.Value On Error Resume Next xCheck1 = Target.Validation.InCellDropdown On Error GoTo 0 Application.Undo On Error Resume Next xCheck2 = Target.Validation.InCellDropdown On Error GoTo 0 If xCheck1 = xCheck2 Then Target = xValue Else MsgBox "No pasting allowed!" End If Application.EnableEvents = True End Sub This Macro not work when copy from different workbook or worksheet then so please tell me how to avoid these things also
This comment was minimized by the moderator on the site
Hi, above mention vba code is not run.kindly resolve.
This comment was minimized by the moderator on the site
Hi, While I running this macro I got this debug error "Application.Undo". Pls resolve this ASAP
This comment was minimized by the moderator on the site
This works but when I paste value this is allowing data which is not from the drop down list. Any way to restrict any value which is not from the list.
This comment was minimized by the moderator on the site
Hi Dilip, Did you able to resolve the issue, i too having similar issue. I have to allow copy,paste only for drop down values in the data validation cell other i have to restrict. Can you share your solution. Thanks Rao
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations