Ana içeriğe atla

Excel'de açılır listeyle hücreye kopyalayıp yapıştırmayı nasıl önleyebilirim?

Veri doğrulama açılır listesi olan bir hücre için, başka bir hücreden içerik kopyalayıp ona yapıştırdığınızda, açılır liste kaybolacak ve yeni yapıştırma içeriğiyle değiştirilecektir. Bazı durumlarda, açılır listeyle hücre üzerine diğer içeriği kopyalayıp yapıştırmayı önlemek istersiniz, bununla başa çıkmak için ne yapardınız? Bu makalede, bu sorunu çözmek için bir VBA yöntemi alacaksınız.

Excel'deki açılır listeyle hücreye kopyalayıp yapıştırmayı önleyin


Excel'deki açılır listeyle hücreye kopyalayıp yapıştırmayı önleyin

1. Kopyalayıp yapıştırmayı önlemek istediğiniz açılır liste hücresiyle çalışma sayfasını açın.

2. Basın Ara Toplam + F11 anahtarları aynı anda açmak için Microsoft Visual Basic Uygulamaları pencere.

3. içinde Microsoft Visual Basic Uygulamaları penceresinde, sol bölmedeki mevcut çalışma sayfası adına çift tıklayın, ardından aşağıdaki VBA kodunu kopyalayıp Kod düzenleyicisine yapıştırın. Ekran görüntüsüne bakın:

VBA kodu: Açılır listeyle hücre üzerine kopyalayıp yapıştırmayı önleyin

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. Basın Ara Toplam + Q çıkış tuşları Microsoft Visual Basic Uygulamaları pencere.

5. Açılır listeli bir hücreye içerik yapıştırdığınızda, yapıştırmaya izin verilmediğini size hatırlatmak için bir iletişim kutusu açılır. Ekran görüntüsüne bakın:

not: Bu VBA yalnızca tek hücre yapıştırmada çalışır. Birden çok hücreye kopyalayıp yapıştırırsanız, çalışmaz.

Excel'de onay kutularıyla kolayca açılır liste oluşturun:

The Onay Kutulu Açılır Liste yarar Kutools for Excel ihtiyaçlarınıza göre belirli bir aralıkta, mevcut çalışma sayfasında, mevcut çalışma kitabında veya tüm açık çalışma kitaplarında onay kutuları bulunan açılır listeyi kolayca oluşturmanıza yardımcı olabilir.
Kutools for Excel'in tam özellikli 30 günlük ücretsiz izini şimdi indirin!


İlgili yazılar:

Excel'de birden çok onay kutusu içeren açılır liste nasıl oluşturulur?
Birçok Excel kullanıcısı, her seferinde listeden birden çok öğe seçmek için birden çok onay kutusu içeren açılır liste oluşturma eğilimindedir. Aslında, Veri Doğrulama ile birden çok onay kutusu içeren bir liste oluşturamazsınız. Bu öğreticide, Excel'de birden çok onay kutusu içeren açılır liste oluşturmak için size iki yöntem göstereceğiz. Bu eğitim, sorunu çözme yöntemini sağlar.

Excel'de başka bir çalışma kitabından açılır liste oluşturun
Bir çalışma kitabındaki çalışma sayfaları arasında bir veri doğrulama açılır listesi oluşturmak oldukça kolaydır. Ancak, veri doğrulama için ihtiyacınız olan liste verileri başka bir çalışma kitabında bulunuyorsa, ne yapardınız? Bu öğreticide, Excel'deki başka bir çalışma kitabından açılır listenin nasıl oluşturulacağını ayrıntılı olarak öğreneceksiniz.

Excel'de aranabilir bir açılır liste oluşturun
Çok sayıda değeri olan bir açılır liste için, uygun olanı bulmak kolay bir iş değildir. Daha önce, açılır kutuya ilk harfi girerken otomatik tamamlama açılır listesi için bir yöntem getirmiştik. Otomatik tamamlama işlevinin yanı sıra, açılır listede uygun değerleri bulmada çalışma verimliliğini artırmak için açılır listeyi aranabilir hale de getirebilirsiniz. Açılır listeyi aranabilir hale getirmek için bu eğitimdeki yöntemi deneyin.

Excel açılır listesindeki değerleri seçerken diğer hücreleri otomatik olarak doldurun
B8: B14 hücre aralığındaki değerlere dayalı bir açılır liste oluşturduğunuzu varsayalım. Açılır listeden herhangi bir değeri seçtiğinizde, C8: C14 hücre aralığındaki karşılık gelen değerlerin seçili bir hücrede otomatik olarak doldurulmasını istersiniz. Sorunu çözmek için, bu eğitimdeki yöntemler size bir iyilik yapacaktır.

Açılır liste için daha fazla öğretici ...

En İyi Ofis Üretkenlik Araçları

🤖 Kutools AI Yardımcısı: Aşağıdakilere dayalı olarak veri analizinde devrim yaratın: Akıllı Yürütme   |  Kodunu oluşturun  |  Özel Formüller Oluşturun  |  Verileri Analiz Edin ve Grafikler Oluşturun  |  Kutools İşlevlerini Çağır...
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya Tanımla   |  Boş Satırları Sil   |  Veri Kaybı Olmadan Sütunları veya Hücreleri Birleştirin   |   Formülsüz Tur ...
Süper Arama: Çoklu Ölçütlü VLookup    Çoklu Değer VLookup  |   Birden Çok Sayfada VLookup   |   Bulanık Arama ....
Gelişmiş Açılır Liste: Hızla Açılır Liste Oluşturun   |  Bağımlı Açılır Liste   |  Çoklu Seçim Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekleme  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştırın ...
Öne Çıkan Özellikler: Izgara Odağı   |  Tasarım görünümü   |   Büyük Formül Çubuğu    Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynak Kütüphanesi (Otomatik metin)   |  Tarih Seçici   |  Çalışma Sayfalarını Birleştirin   |  Hücreleri Şifrele/Şifresini Çöz    E-postaları Listeye Göre Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtre...) ...
En İyi 15 Araç Seti12 Metin Tools (Metin ekle, Karakterleri Kaldır, ...)   |   50+ Grafik Türleri (Gantt şeması, ...)   |   40+ Pratik Formüller (Yaşı doğum gününe göre hesapla, ...)   |   19 sokma Tools (QR Kodunu Girin, Yoldan Resim Ekle, ...)   |   12 Dönüştürme Tools (Sayılardan Kelimelere, Para Birimi Dönüştürme, ...)   |   7 Birleştir ve Böl Tools (Gelişmiş Kombine Satırları, Bölünmüş hücreler, ...)   |   ... ve dahası

Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar.  En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...

Açıklama


Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
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