Jak zapobiec kopiowaniu i wklejaniu komórek za pomocą rozwijanej listy w programie Excel?
W przypadku komórki z rozwijaną listą sprawdzania poprawności danych po skopiowaniu zawartości z innej komórki i wklejeniu do niej lista rozwijana zniknie i zostanie zastąpiona nową zawartością wklejania. W niektórych przypadkach chcesz zapobiec kopiowaniu i wklejaniu innej zawartości do komórki za pomocą listy rozwijanej, co byś zrobił, aby sobie z tym poradzić? W tym artykule poznasz metodę VBA radzenia sobie z tym problemem.
Zapobiegaj kopiowaniu i wklejaniu do komórki za pomocą rozwijanej listy w programie Excel
Zapobiegaj kopiowaniu i wklejaniu do komórki za pomocą rozwijanej listy w programie Excel
1. Otwórz arkusz z rozwijaną komórką listy, której chcesz uniemożliwić kopiowanie i wklejanie.
2. naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Aplikacje Microsoft Visual Basic okno.
3. w Aplikacje Microsoft Visual Basic kliknij dwukrotnie nazwę bieżącego arkusza w lewym okienku, a następnie skopiuj i wklej poniższy kod VBA do edytora kodu. Zobacz zrzut ekranu:
Kod VBA: Zapobiegaj kopiowaniu i wklejaniu do komórki za pomocą rozwijanej listy
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. naciśnij inny + Q klawisze, aby wyjść z Aplikacje Microsoft Visual Basic okno.
5. Kiedy wklejasz zawartość do komórki z rozwijaną listą, pojawi się okno dialogowe przypominające, że wklejanie jest niedozwolone. Zobacz zrzut ekranu:
Note: Ten VBA działa tylko w wklejaniu pojedynczych komórek. Jeśli skopiujesz i wkleisz w wielu komórkach, to nie zadziała.
Z łatwością utwórz listę rozwijaną z polami wyboru w programie Excel:
Połączenia Lista rozwijana z polami wyboru użyteczność Kutools dla programu Excel może pomóc w łatwym utworzeniu listy rozwijanej z polami wyboru w określonym zakresie, bieżącym arkuszu, bieżącym skoroszycie lub wszystkich otwartych skoroszytach w zależności od potrzeb.
Pobierz teraz pełną funkcję 30-dniową darmową ścieżkę Kutools dla programu Excel!
Podobne artykuły:
Jak utworzyć listę rozwijaną z wieloma polami wyboru w programie Excel?
Wielu użytkowników programu Excel ma tendencję do tworzenia listy rozwijanej z wieloma polami wyboru, aby wybrać wiele pozycji z listy na raz. W rzeczywistości nie można utworzyć listy z wieloma polami wyboru z funkcją Walidacja danych. W tym samouczku pokażemy dwie metody tworzenia rozwijanej listy z wieloma polami wyboru w programie Excel. W tym samouczku przedstawiono metodę rozwiązania problemu.
Utwórz listę rozwijaną z innego skoroszytu w programie Excel
Utworzenie listy rozwijanej sprawdzania poprawności danych w arkuszach roboczych w skoroszycie jest dość łatwe. Ale jeśli lista danych potrzebnych do weryfikacji danych znajduje się w innym skoroszycie, co byś zrobił? W tym samouczku dowiesz się, jak szczegółowo utworzyć listę rozwijaną z innego skoroszytu w programie Excel.
Utwórz listę rozwijaną z możliwością wyszukiwania w programie Excel
W przypadku listy rozwijanej z wieloma wartościami znalezienie odpowiedniej nie jest łatwą pracą. Wcześniej wprowadziliśmy metodę automatycznego uzupełniania listy rozwijanej po wpisaniu pierwszej litery w rozwijanym polu. Oprócz funkcji autouzupełniania, możesz również umożliwić przeszukiwanie listy rozwijanej, aby zwiększyć wydajność pracy w znajdowaniu odpowiednich wartości na liście rozwijanej. Aby umożliwić przeszukiwanie listy rozwijanej, wypróbuj metodę opisaną w tym samouczku.
Automatycznie wypełniaj inne komórki podczas wybierania wartości na liście rozwijanej programu Excel
Załóżmy, że utworzyłeś listę rozwijaną na podstawie wartości w zakresie komórek B8: B14. Po wybraniu dowolnej wartości z listy rozwijanej chcesz, aby odpowiednie wartości w zakresie komórek C8: C14 były automatycznie wypełniane w wybranej komórce. Aby rozwiązać problem, skorzystaj z metod przedstawionych w tym samouczku.
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!