Note: The other languages of the website are Google-translated. Back to English

Hvordan forhindres kopiering og indsætning over celle med rulleliste i Excel?

For en celle med datavalideringsrulleliste, når kopierer indhold fra en anden celle og indsættes i den, vil rullelisten være væk og erstattes med det nye indsætningsindhold. I nogle tilfælde vil du forhindre kopiering og indsætning af andet indhold over cellen med rullelisten. Hvad ville du gøre for at håndtere det? I denne artikel får du en VBA-metode til at håndtere dette problem.

Forhindre kopiering og indsætning over celle med rulleliste i Excel


Forhindre kopiering og indsætning over celle med rulleliste i Excel

1. Åbn regnearket med rullelisten, du vil forhindre kopiering og indsættelse.

2. Trykke andre + F11 taster samtidigt for at åbne Microsoft Visual Basic-applikationer vindue.

3. i Microsoft Visual Basic-applikationer dobbeltklik på det aktuelle regnearksnavn i venstre rude, og kopier derefter og indsæt nedenstående VBA-kode i kodeeditoren. Se skærmbillede:

VBA-kode: Forhindre kopiering og indsætning over celle med rulleliste

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. Trykke andre + Q taster for at afslutte Microsoft Visual Basic-applikationer vindue.

5. Når du indsætter indhold i en celle med rullelisten, vises en dialogboks, der minder dig om at indsætte er ikke tilladt. Se skærmbillede:

Bemærk: Denne VBA fungerer bare i enkeltcelle-indsættelse. Hvis du kopierer og indsætter i flere celler, fungerer det ikke.

Opret let rullelisten med afkrydsningsfelter i Excel:

Rulleliste med afkrydsningsfelter nytte af Kutools til Excel kan hjælpe dig med nemt at oprette rulleliste med afkrydsningsfelter i et bestemt område, aktuelt regneark, nuværende projektmappe eller alle åbnede projektmapper baseret på dine behov.
Download den fulde funktion 30-dages gratis spor af Kutools til Excel nu!


Relaterede artikler:

Hvordan oprettes rullelisten med flere afkrydsningsfelter i Excel?
Mange Excel-brugere har tendens til at oprette rulleliste med flere afkrydsningsfelter for at vælge flere emner fra listen pr. Gang. Faktisk kan du ikke oprette en liste med flere afkrydsningsfelter med datavalidering. I denne vejledning skal vi vise dig to metoder til at oprette rulleliste med flere afkrydsningsfelter i Excel. Denne vejledning giver metoden til at løse problemet.

Opret rullelisten fra en anden projektmappe i Excel
Det er ret nemt at oprette en rulleliste med datavalidering blandt regneark i en projektmappe. Men hvis de listedata, du har brug for til datavalidering, findes i en anden projektmappe, hvad ville du gøre? I denne vejledning lærer du, hvordan du opretter en drop fown-liste fra en anden projektmappe i Excel i detaljer.

Opret en søgbar rulleliste i Excel
For en rulleliste med mange værdier er det ikke let at finde en ordentlig. Tidligere har vi introduceret en metode til automatisk udfyldelse af rullelisten, når du indtaster det første bogstav i rullemenuen. Udover funktionen autofuldførelse kan du også gøre rullelisten søgbar for at forbedre arbejdseffektiviteten ved at finde korrekte værdier i rullelisten. For at gøre rullelisten søgbar, prøv metoden i denne vejledning.

Udfyld automatisk andre celler, når du vælger værdier i rullelisten i Excel
Lad os sige, at du har oprettet en rulleliste baseret på værdierne i celleområde B8: B14. Når du vælger en hvilken som helst værdi i rullelisten, ønsker du, at de tilsvarende værdier i celleområde C8: C14 automatisk udfyldes i en valgt celle. Til løsning af problemet vil metoderne i denne vejledning gøre dig en tjeneste.

Flere vejledninger til rullelisten ...


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (12)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Dette virker, men når jeg indsætter værdi, tillader dette data, som ikke er fra rullelisten. Enhver måde at begrænse enhver værdi, som ikke er fra listen.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Dilip, Var du i stand til at løse problemet, jeg har også lignende problem. Jeg er nødt til at tillade kopiering, indsæt kun for dropdown-værdier i datavalideringscellen, andet er jeg nødt til at begrænse. Kan du dele din løsning. Tak Rao
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Mens jeg kører denne makro, fik jeg denne fejlfindingsfejl "Application.Undo". Venligst løs dette ASAP
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, ovennævnte vba kode er ikke run.kindly løse.
Denne kommentar blev minimeret af moderatoren på webstedet
Private Sub Worksheet_Change(ByVal Target As Range) Dim xValue As String Dim xCheck1 As String Dim xCheck2 As String Hvis Target.Count > 1 Afslut derefter Sub End hvis Application.EnableEvents = False xValue = Target.Value Ved fejl Genoptag næste xCheck1 = Target. Validation.InCellDropdown Ved fejl GoTo 0 Application.Undo On Error Resume Next xCheck2 = Target.Validation.InCellDropdown On Error GoTo 0 If xCheck1 = xCheck2 Then Target = xValue Else MsgBox "Ingen indsættelse tilladt!" End If Application.EnableEvents = True End Sub Denne makro virker ikke, når du kopierer fra en anden projektmappe eller et andet regneark, så fortæl mig også, hvordan jeg undgår disse ting
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak !! virker fint for mig!!! kopiering til en enkelt celle er begrænset. men hvis jeg kopierer en liste over celler og indsætter.., accepteres indsætningen. lad mig se om jeg kan tune dette op ..tak alligevel
Denne kommentar blev minimeret af moderatoren på webstedet
Jepson, lykkedes det dig at løse problemet med at kopiere og indsætte i flere celler? Tak på forhånd!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Dilip, er du i stand til at løse problemet med at tillade data ved hjælp af indsæt-værdier .. jeg står også over for det samme problem .. hjælp mig med dette venligst
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Dilip, er du i stand til at løse problemet med at tillade data ved hjælp af indsætværdier
Denne kommentar blev minimeret af moderatoren på webstedet
lykkedes det dig at løse problemet med at kopiere og indsætte i flere celler? Tak på forhånd!
Denne kommentar blev minimeret af moderatoren på webstedet
Nej, jeg fandt ikke ud af det. Jeg prøvede ikke at løse efter et stykke tid.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg virker MEN efter du har lagt koden kan du ikke FORTRYDE noget. Ikke et eneste skridt tilbage er tilladt.
Der er endnu ingen kommentarer her

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL