Dlaczego wklejanie do niechronionej komórki w programie Excel chroni ją?


12

Badając odpowiedź na to pytanie , natknąłem się na dość dziwne zachowanie w programie Excel związane z niezabezpieczonymi komórkami w chronionych arkuszach roboczych.

Aby zobaczyć, co mam na myśli, utwórz nowy skoroszyt, usuń ochronę pierwszej komórki (A1) i chroń arkusz . Jedyną komórką, w której można teraz wprowadzić tekst, powinna być A1. Następnie przejdź do innej aplikacji (na przykład przeglądarki) i stamtąd skopiuj tekst. Wybierz pierwszą komórkę, klikając ją raz (nie klikaj dwukrotnie ani nie wklejaj do paska formuły) i wklej do niej tekst.

To nie tylko potencjalnie zmieni formatowanie komórki, ale także ustawi jej chronioną flagę. Odtąd nie ma możliwości zmiany zawartości tej komórki bez usunięcia ochrony arkusza roboczego (lub oczywiście cofnięcia operacji wklejania).

Dlaczego? Czy to pożądane zachowanie lub błąd w programie Excel 2010 (wersja, której użyłem do wypróbowania tego)?

Odpowiedzi:


13

To jest rzeczywiście oczekiwane zachowanie (dobrze oczekiwane przez Microsoft, niekoniecznie przez użytkowników), co jest dobrą wiadomością. I jest dość prosta praca, która jest jeszcze lepszą wiadomością.

Po wklejeniu fragmentu sformatowanego tekstu komórka otrzymuje styl „Normalny”, a następnie nakłada na nią wymagane formatowanie. Styl „Normalny” domyślnie ma zablokowaną ochronę. Dlatego właśnie jest stosowany.

Rozwiązaniem jest zmiana stylu „normalnego”. Aby powielić rozwiązaną wersję tego problemu, utwórz nowy skoroszyt, a następnie:

1) Na wstążce domowej w sekcji Style kliknij prawym przyciskiem myszy pole Normalne i kliknij polecenie Modyfikuj. Naciśnij przycisk Format i na karcie ochrony odznacz Zablokowane. (Pamiętaj, że dotyczy to tylko tego arkusza kalkulacyjnego, ale że wszystkie komórki będą teraz niechronione, a nie chronione).

2) Wybierz Wszystkie komórki, kliknij prawym przyciskiem myszy i wybierz formatuj komórki, a pod ochroną zaznacz opcję Zablokowane.

3) Wybierz tylko A1, kliknij prawym przyciskiem myszy, wybierz formatuj komórki i pod ochroną odznacz zablokowane.

4) Chroń arkusz roboczy

Teraz powinniśmy powrócić do tego samego punktu co w przykładzie w kwestii zablokowanych i odblokowanych komórek, ale w innym stylu Normalnym.

Teraz, gdy wklejam tekst ze słowa lub z innego miejsca, komórka nie jest chroniona.


Po kilku latach pracy z programem Excel byłem zszokowany, gdy dowiedziałem się o tej „funkcji”. Nawet nie wierzyłem, kiedy moi użytkownicy o tym mówili, dopóki sam się nie sprawdziłem :) Cieszę się, że spotkałeś się przede mną przez te lata: D
ZygD

1

Poprzednia odpowiedź nie dotyczy już najnowszej wersji programu Excel 365. Obecna wersja programu Excel 365 tworzy teraz nowy styl o nazwie „Normalny 2” lub wymagany numer sekwencji. Stosuje nowy styl, który jest zablokowany zamiast zmodyfikowanego stylu normalnego.

Oto rozwiązanie dla Excel 365. Wybierz zakres komórek, które inne osoby będą mogły edytować. Następnie przejdź do karty „Recenzja”. W sekcji „Zmiany” kliknij „Zezwalaj użytkownikom na edycję zakresów”. Kliknij przycisk „Nowy”. Wybrany zakres zostanie automatycznie wypełniony automatycznie wygenerowanym tytułem. Wprowadź dowolne ręczne zmiany. Jeśli chcesz, aby ludzie mogli wprowadzać zmiany tylko za pomocą hasła, możesz je wprowadzić tutaj. Wolę, aby ludzie nie używali hasła, dlatego klikam przycisk „Uprawnienia”, a następnie „Dodaj”. Chcę, aby każdy mógł edytować bez hasła, więc wpisuję „Wszyscy”, ponieważ użytkownik może wprowadzać zmiany. Jeśli rozumiesz uprawnienia, możesz wybrać jednego użytkownika lub grupę użytkowników, którzy będą mogli wprowadzać zmiany bez hasła. Następnie kliknij „OK” aż wszystkie okna zostaną zamknięte. Chroń swój prześcieradło i jesteś dobry.


0

Nie wiem, dlaczego tak się dzieje, ale jeśli o mnie chodzi, to bardzo duży błąd. :-(

Wygląda na to, że za każdym razem, gdy Excel próbuje wkleić formatowanie tekstu wraz z tekstem, zamyka komórkę. Jeśli wybierzesz Match Destination Formattingopcję wklejania; wklej z zwykłego edytora tekstu, takiego jak Notatnik; lub wklej z innego skoroszytu w tym samym wystąpieniu programu Excel, a następnie komórka zostanie odblokowana. Jeśli wykonujesz zwykłe wklejanie z dowolnej innej aplikacji, która ma formatowanie tekstu, nawet innej instancji programu Excel, program Excel blokuje odblokowaną komórkę.

Problem z formatowaniem ma przynajmniej obejście, w którym można skopiować poprawne formatowanie z innej komórki i wkleić ją z powrotem do pomieszanej komórki.


Okazuje się, że to nie błąd. Dodałem coś, co moim zdaniem jest rozwiązaniem, i pomyślałem, że możesz być zainteresowany.
Alex Andronov,

Opcja wklejania jako zwykłego tekstu (lub Dopasuj formatowanie miejsca docelowego) jest prawdopodobnie najlepszą drogą, jeśli wybrałeś już arkusz kalkulacyjny i nie możesz sobie pozwolić na ponowne ustawienie go, edytując styl Normalny. Jednak zależy to od użytkowników arkusza kalkulacyjnego, którzy wiedzą, jak wybrać różne opcje wklejania. Z mojego doświadczenia wynika, że ​​to bardzo niewiele osób!
user535673

0

Wybierz niezabezpieczoną komórkę w chronionym arkuszu (AtiveCell), w którym wklejasz dane z przeglądarki internetowej. Po wklejeniu staje się chroniony. To nie jest pożądane :-)

Zrobiłem to i działa!

W kodzie arkusza, w moim przypadku „Arkusz1”:

Sub Worksheet_Change(ByVal Target as Range)

  ...some irellevant code...

  ActiveSheet.Unprotect   
  ActiveCell.Locked=False

  ...code that protects Sheet1

Exit Sub

0

Jak wszyscy inni na tej stronie (i temacie) uważali to za niezręczne. Jednak najlepszym sposobem (dla mnie) na obejście tego jest wklejenie do „wklejania wartości” podczas wstawiania danych i „wklejanie specjalne” - „hiperłącze” podczas wklejania linków. Zrobiłem to w ten sposób, ponieważ zwykle dość zaangażowałem formatowanie warunkowe i oczywiście muszę wklejać wartości (lub zmiany formatowania warunkowego). Mam nadzieję, że znajdziesz to przydatne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.