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

Jak zablokować lub odblokować komórki na podstawie wartości w innej komórce w programie Excel?

W niektórych przypadkach może być konieczne zablokowanie lub odblokowanie komórek na podstawie wartości w innej komórce. Na przykład zakres B1: B4 ma zostać odblokowany, jeśli komórka A1 zawiera wartość „Akceptuję”; i do zablokowania, jeśli komórka A1 zawiera wartość „Odmowa”. Jak możesz to osiągnąć? Ten artykuł może ci pomóc.

Zablokuj lub odblokuj komórki na podstawie wartości w innej komórce z kodem VBA


Zablokuj lub odblokuj komórki na podstawie wartości w innej komórce z kodem VBA

Poniższy kod VBA może pomóc w blokowaniu lub odblokowywaniu komórek na podstawie wartości w innej komórce w programie Excel.

1. Kliknij prawym przyciskiem myszy kartę arkusza (arkusz z komórkami, które chcesz zablokować lub odblokować na podstawie wartości w innej komórce) i kliknij Wyświetl kod z menu po kliknięciu prawym przyciskiem myszy.

2. Następnie skopiuj i wklej następujący kod VBA do okna Code.

Kod VBA: zablokuj lub odblokuj komórki na podstawie wartości w innej komórce

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("A1") = "Accepting" Then
        Range("B1:B4").Locked = False
    ElseIf Range("A1") = "Refusing" Then
        Range("B1:B4").Locked = True
    End If
End Sub

3. wciśnij inny + Q klawisze jednocześnie, aby zamknąć Microsoft Visual Basic for Applications okno.

Odtąd, gdy wprowadzisz wartość „Akceptuję” do komórki A1, zakres B1: B4 jest odblokowany.

Po wprowadzeniu wartości „Odmowa” do komórki A1, określony zakres B1: B4 jest automatycznie blokowany.


Powiązane artykuły:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

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!
officetab dół
Sortuj komentarze według
Komentarze (52)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Jak zablokować/odblokować komórkę zmienną, np. gdy komórka ma wartość [=INDEX(A16:L35,MATCH(W5,A16:A35,0),MATCH("PAY",A16:L16,0))]
Ten komentarz został zminimalizowany przez moderatora na stronie
Chcę prostego polecenia VBA, którego nie jestem w stanie rozgryźć, proszę o pomoc
Jeśli komórka A1 to Balnk, to komórka A2 jest zablokowana, a jeśli komórka A1 zawiera jakąkolwiek wartość, to komórka A2 jest odblokowana
Podobnie, jeśli komórka A2 jest pusta, komórka A3 jest zablokowana, a jeśli komórka A2 zawiera jakąkolwiek wartość, komórka A3 jest odblokowana
i tak dalej tyle komórek, ile jest wymagane w dowolnej części arkusza.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, próbuję to osiągnąć, ale otrzymuję błąd, że VBA nie może ustawić właściwości Locked klasy Range, jeśli arkusz był chroniony. Odbezpieczenie arkusza spowoduje negację zablokowanej komórki. Jak to obejść? Dzięki za wszelką pomoc.
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy rozwiązałeś? mam ten sam problem
Ten komentarz został zminimalizowany przez moderatora na stronie
Drogi Memo,
Wypróbuj poniższy kod VBA.

Prywatny arkusz pomocniczy_Aktywuj()
Jeśli nie ActiveSheet.ProtectContents Wtedy
Zakres ("A1"). Zablokowane = Fałsz
Zakres ("B1:B4"). Zablokowane = Fałsz
End If
End Sub
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg jako zakres, xRgA jako zakres
On Error Resume Next
Application.EnableEvents = Fałsz
Ustaw xRg = Zakres("B1:B4")
Ustaw xRgA = Zakres("A1")
If Intersect(Target, xRg).Adres <> Target.Address _
Lub xRgA = „Akceptacja” Wtedy
Application.EnableEvents = True
Exit Sub
ElseIf ActiveSheet.ProtectContents _
I przecięcie (cel, xRg) = cel _
A xRgA.Value = „Odmowa” Wtedy
xRgA.Wybierz
End If
Application.EnableEvents = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Będziesz chciał użyć wiersza interfejsu w skoroszycie, więc kiedy otworzysz plik, chroni on arkusze, ale i tak pozwala makram na wprowadzanie zmian;

Private Sub Workbook_Open() 'To trafia do "ThisWorkbook"

Worksheets("Narzędzie zamawiania").Protect Password:="Pwd", UserInterFaceOnly:=True

End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Droga Mrówko,
Poniższy kod VBA może pomóc w rozwiązaniu tego problemu. Dziękuję za Twój komentarz.

Prywatny arkusz pomocniczy_Aktywuj()
Jeśli nie ActiveSheet.ProtectContents Wtedy
Zakres ("A1"). Zablokowane = Fałsz
Zakres ("B1:B4"). Zablokowane = Fałsz
End If
End Sub
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xRg jako zakres, xRgA jako zakres
On Error Resume Next
Application.EnableEvents = Fałsz
Ustaw xRg = Zakres("B1:B4")
Ustaw xRgA = Zakres("A1")
If Intersect(Target, xRg).Adres <> Target.Address _
Lub xRgA = „Akceptacja” Wtedy
Application.EnableEvents = True
Exit Sub
ElseIf ActiveSheet.ProtectContents _
I przecięcie (cel, xRg) = cel _
A xRgA.Value = „Odmowa” Wtedy
xRgA.Wybierz
End If
Application.EnableEvents = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,

Czy można na tej podstawie zablokować ten VBA jeden zestaw komórek / odblokować inny? Na przykład zakres B1:B4 jest odblokowany, a C1:C4 jest zablokowany do „akceptowania”, a następnie B1:B4 jest zablokowany, a C1:C4 jest odblokowany za „odmowę”?


Dzięki,
chrześcijański
Ten komentarz został zminimalizowany przez moderatora na stronie
Drogi Chrześcijaninie,
Czy Twój arkusz roboczy jest chroniony?
Ten komentarz został zminimalizowany przez moderatora na stronie
proszę, czy ktoś może mi pomóc w następujących kwestiach.
Chcę wstawić zdjęcia uczniów w jednym arkuszu, pojawia się w innym arkuszu na podstawie ich nazwisk
Aby utworzyć płaszczyznę nawigacyjną, aby pomóc użytkownikom
Aby przypisać określony arkusz(y) do użytkownika
Aby utworzyć interfejs dla skoroszytu
Aby utworzyć stronę logowania
Ten komentarz został zminimalizowany przez moderatora na stronie
Drogi Leo,
Wszelkie pytania dotyczące programu Excel, nie wahaj się zamieścić na naszym forum: https://www.extendoffice.com/forum.html.
Więcej wsparcia na temat programu Excel uzyskasz od naszego specjalisty ds. Excela.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,

Próbowałem twojego kodu i trochę edytowałem, ale nie mogę zrozumieć, co tutaj robię źle?

Prywatny Sub Worksheet_Change (ByVal Target As Range)
Jeśli zakres ("A40") <> "" Wtedy
Zakres ("D40:E40"). Zablokowane = Fałsz
ElseIf Range("A40") = "" Then
Zakres ("D40:E40"). Zablokowane = Prawda
End If
End Sub


Myślałem o tym, jeśli nic w nim nie ma (A40). Następnie chcę zablokować przez VBA. Jeśli A40 coś zawiera, to chcę, żeby było odblokowane. Mam nadzieję, że widzisz sens tego.


Pozdrawiam Kristoffer
Ten komentarz został zminimalizowany przez moderatora na stronie
Dobry dzień,
Nie ma nic złego w Twoim kodzie. To działa dobrze dla mnie.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć. Ja też nie mogę uruchomić tego kodu. Nie robi absolutnie nic. Jakby kodu tam nie było?? Jestem bardzo nowy w VBA i mam podstawową wiedzę na ten temat. Czy ten kod jest uruchamiany tak, jak jest, czy też muszą być do niego dodane elementy, aby mógł działać? Lub zamienione w makro (którego tak naprawdę nie rozumiem, ponieważ jest to nagranie instrukcji, o ile je rozumiem)
Ten komentarz został zminimalizowany przez moderatora na stronie
JAKI BĘDZIE KOD, JEŚLI CHCĘ ZABLOKOWAĆ KOMÓRKĘ E1, E2, E3 ....... DLA OKREŚLONEGO TEKSTU (Powiedzmy "P") NA KOMÓRCE B1, B2, B3... ..............ODPOWIEDNIO.

Z góry dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
dzień dobry
Wypróbuj poniższy skrypt VBA.

Prywatny Sub Worksheet_Change (ByVal Target As Range)
Jeśli Target.Count = 1 Wtedy
If Target.Address = Range("A1").Address And Target.Value = "A" Then
Zakres ("B1"). Zablokowany = Prawda
ElseIf Target.Address = Range("A2").Address And Target.Value = "A" Then
Zakres ("B2"). Zablokowany = Prawda
ElseIf Target.Address = Range("A3").Address And Target.Value = "A" Then
Zakres ("B3"). Zablokowany = Prawda
End If
End If
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzień dobry!
Мне тоже необходимо заблокировать значение, но только в одной ячейке в зависимости от значения в другой, я попробовала использовать код в комментарии выше, но он не работает(оставила только один параметр для блокировки), но он у меня не работает - при этом нет сообщения об ошибке, ячейка, которая должна быть заблокирована - просто не блокируется, остается активной. В чем может быть причина?

Вот код, который я использовала:

Prywatny Sub Worksheet_Change (ByVal Target As Range)
Jeśli Target.Coun t=1 Wtedy
If Target.Address = Range("C9").Address And Target.Value = "согласно плану" Then
Zakres("C10").Zablokowany = Prawda
End If
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Duchu,
Przepraszam, ale nie do końca rozumiem, co masz na myśli. Dla jasności dołącz przykładowy plik lub zrzut ekranu z danymi i pożądanymi wynikami.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć! potrzebujesz porady.
Czy istnieje sposób, aby nie zezwolić na aktualizację komórki, jeśli nie spełniła ona warunku w innej komórce?
Przykład: jeśli komórka A nie zostanie zaktualizowana, nie pozwoli mi to zmienić wartości komórki B na uzupełnienie.

Doceń informację zwrotną.
Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Droga Margie,
Spróbuj poniżej kodu VBA.

Dim PreVal jako ciąg
Dim NextVal jako ciąg
Prywatny arkusz pomocniczy_Aktywuj()
PreVal = Zakres("A1")
NextVal = Zakres("A1")
End Sub
Prywatny Sub Worksheet_Change (ByVal Target As Range)
Jeśli (Target.Count = 1) I (Target.Address = "$A$1") Wtedy
NextVal = Zakres("A1")
End If
End Sub
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Jeśli Target.Count = 1 Wtedy
Jeśli Target.Address = "$A$1" Wtedy
PreVal = Zakres("A1")
ElseIf (Target.Address = "$B$1") Wtedy
Jeśli PreVal = NextVal, to
Application.EnableEvents = Fałsz
Zakres ("A1"). Wybierz
Application.EnableEvents = True
End If
End If
End If
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
czy ktoś może to poprawić pls>>>

Prywatny Sub Worksheet_Change (ByVal Target As Range)
Dla i = 7 To 100
If Range("Komórki(D, i)") = "Pożyczka" Then
Range("Komórki(V, i):Komórki(X, i)").Locked = True
ElseIf Range("Komórki(D, i)") = "Oszczędności" Wtedy
Range("Komórki(Q,i):Komórki(U,i)").Zablokowane = True
Range("Komórki(W, i):Komórki(X, i)").Locked = True
ElseIf Range("Komórki(D, i)") = "ShareCap" Then
Range("Komórki(Q,i):Komórki(U,i)").Zablokowane = True
Zakres("Komórki(V, i)").Zablokowane = Prawda
End If
Dalej i
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć! Czy ktoś może mi pomóc? Muszę zablokować/zamrozić komórkę. Ta komórka jest połączona z inną i ma wartość, która zmienia się co minutę. Co mam zrobić, to utrzymać tę wartość przez określoną minutę/godzinę. Jak mogę to zrobić bez kopiowania i wklejania jako wartości?
Ten komentarz został zminimalizowany przez moderatora na stronie
Droga Miro,
Przepraszamy, nie mogę w tym pomóc, możesz zamieścić swoje pytanie na naszym forum: https://www.extendoffice.com/forum.html aby uzyskać więcej wsparcia Excel od naszego profesjonalisty.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Jestem w tym naprawdę nowy.
Próbowałem połączyć system fakturowania w Excelu.
Utworzyłem 3 arkusze.
1. Szablon faktury (faktura) — tylko ogólna faktura wysyłana do moich agentów co tydzień.

2. A dokładnie arkusz danych (Datasheet) - w którym na fakturze można odczytać nazwę firmy, adres itp., więc jeśli coś się zmieni, faktura zostanie automatycznie zaktualizowana.

3. Zakładka kalendarza (Kalendarz 2018), a dokładnie – do której odwołuje się szablon faktury i umieszcza odpowiednią datę i numer faktury na fakturach rzeczywistych.

Co chcę robić.
Karta kalendarza byłaby moją główną stroną, dodałem rozwijaną komórkę statusu dla każdego tygodnia z opcjami "Aktywny" i "Zamknięty". Chciałbym zablokować całą zakładkę „Faktura”, jeśli odpowiadająca jej komórka jest ustawiona na „Zamknięte”.

Mam nadzieję, że rozumiecie, co próbuję zrobić.
Z góry dziękuję.
Ten komentarz został zminimalizowany przez moderatora na stronie
Drogi Ando Veresie.
Poniższy kod VBA może ci pomóc. Proszę umieścić kod w oknie kodu arkusza kalendarium 2018 zmiana A1 do rozwijanej komórki. Dziękuję Ci.

Prywatny Sub Worksheet_Change (ByVal Target As Range)
Dim xRg jako zakres
On Error Resume Next
Ustaw xRg = Przecięcie(cel, zakres("A1"))
Jeśli xRg jest niczym, wyjdź z Sub
Jeśli Target.Validation.Type >= 0 Wtedy
If Target.Value = "Zamknięty" Wtedy
Arkusze („Arkusz danych”). Chroń
ElseIf xRg.Value = "Aktywny" Wtedy
Arkusze ("Arkusz danych"). Usuń ochronę
End If
End If
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Przygotowuję gospodarkę magazynową w szablonie excel. Aby dostarczyć towar muszę wystawić przepustkę bramową. Chcę do każdej przepustki bramowej, odpowiednie dane będą aktualizowane na stronie dziennej inwentaryzacji. Wraz ze zmianą numeru seryjnego przepustki bramowej, wiersz zostanie zablokowany, a następny zostanie zapełniony.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dobry dzień,
Byłoby miło, gdybyś mógł przesłać swój skoroszyt tutaj. Dziękuję za Twój komentarz.
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy możesz mi wskazać, co tu jest nie tak? Z góry dziękuję.

Prywatny Sub Worksheet_Change (ByVal Target As Range)
Jeśli zakres("K:K") = "NADMIAR MAGAZYNU" Wtedy
Zakres("S:S"). Zablokowane = Prawda
ElseIf Range("K:K") = "WOLNY RUCH" Wtedy
Zakres("S:S"). Zablokowane = Prawda
ElseIf Range("K:K") = "NORMAL" Then
Zakres ("S:S"). Zablokowane = Fałsz
ElseIf Range("K:K") = "BRAK" Wtedy
Zakres ("S:S"). Zablokowane = Fałsz
End If
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy mógłbyś mi uprzejmie doradzić, jak to poprawić? Z góry dziękuję.

Prywatny Sub Worksheet_Change (ByVal Target As Range)
Jeśli zakres("A:A") = "WOLNY RUCH" Wtedy
Zakres("B:B"). Zablokowany = Prawda
ElseIf Range("A:A") = "NADMIAR MAGAZYNU" Then
Zakres("B:B"). Zablokowany = Prawda
ElseIf Range("A:A") = "NORMAL" Then
Zakres("B:B"). Zablokowane = Fałsz
End If
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Nie będąc ekspertem od VB, powiedziałbym, że masz zbyt wiele "Elseif" - jeśli zmienisz je wszystkie na tylko JEŻELI z wyjątkiem ostatniego, to miejmy nadzieję, że to zadziała.
Zasadniczo, jeśli X zrób to, jeśli Y zrób to, jeśli Z zrób to, jeśli żadne z tych - zrób to.
Ten komentarz został zminimalizowany przez moderatora na stronie
Jaki byłby kod, gdybym chciał zablokować blok komórek (wiersze 6, 7 i 8/litery od D do U oraz komórki F5 i J5) i odblokować je, gdy wstawię „X” w komórce E5? Z góry dziękuję!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Mitchy II,
Czy masz na myśli, że określony blok komórek został wcześniej ręcznie zablokowany i po prostu chcesz je odblokować, wpisując „X” w komórce E5?
Jeśli usuniesz „X” z komórki E5, czy chcesz ponownie zablokować zakresy?
Potrzebuję więcej szczegółów problemu.
Dziękuję za Twój komentarz.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Mitchyll (lub ktokolwiek inny), budując Crystal. Ręcznie zablokowałem wszystkie komórki i na podstawie informacji w kolumnie G chciałbym, aby pozostały zablokowane lub odblokowane. Przykładowe komórki w kolumnie H powinny być odblokowane TYLKO jeśli "c/p" jest umieszczone w poprzedniej komórce w kolumnie G
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy można zablokować komórkę, gdy osiągnie określoną wartość?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, czy mógłbyś uprzejmie sprawdzić, dlaczego to nie działa?

Prywatny Sub Worksheet_Change (ByVal Target As Range)
Jeśli zakres("A3:A37").Wartość <> "" Wtedy
Zakres("B3:B37").Zablokowany = Prawda
ElseIf Range("A3:A37") = "" Wtedy
Zakres ("B3:B37"). Zablokowane = Fałsz
End If

Jeśli zakres("B3:B37").Wartość <> "" Wtedy
Zakres("A3:A37").Zablokowany = Prawda
ElseIf Range("B3:B37") = "" Wtedy
Zakres ("A3:A37"). Zablokowane = Fałsz
End If

End Sub


Z góry bardzo dziękuję!!!
Ten komentarz został zminimalizowany przez moderatora na stronie
Hi
Właśnie próbowałem użyć powyższego kodu
i mówi o błędzie typu 13, gdy próbuję go użyć.
czy możesz mi z tym pomóc?

dziękuję
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Z której wersji programu Excel korzystasz?
Ten komentarz został zminimalizowany przez moderatora na stronie
hi

czy muszę zablokować komórkę na arkuszu 2 (komórka C4) na podstawie roszczenia z arkusza 1 (komórka C1),
jeżeli „nie” na arkuszu 1 C4; arkusz 2 musi być zamknięty i musi przenosić wartość z arkusza 1 C4,
do arkusza 2 C4.

jeśli „tak” na arkuszu 1, muszę być w stanie wpisać komórkę na arkuszu 2

Dzięki Benthe
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, proszę, pomóż mi w kodzie VBA.

jeśli wybiorę z listy rozwijanej Zakres komórek (A1: A1000) „abc”, to nie blokuj Zakres (D1: D1000) do (F1: F1000)



jeśli wybiorę z listy rozwijanej Zakres komórek (A1: A1000) „abc”, to nie blokuj Zakres (D1: D1000) do (F1: F1000)



jeśli wybiorę z listy rozwijanej Zakres komórek (A1: A1000) „abc”, a następnie zablokuj zakres (D1: D1000) do (F1: F1000)



tj. odpowiednia komórka A1 dla D1 do F1



A2 dla dla D2 do F2
Ten komentarz został zminimalizowany przez moderatora na stronie
Skopiowałem wszystko z góry na arkusz. To działało przez sekundę i teraz otrzymuję błąd „Nie można ustawić właściwości Locked klasy Range”. Otworzyłem nawet zupełnie nowy arkusz i skopiowałem twój przykład dosłownie. Jakiś pomysł, co się dzieje?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,

Potrzebuję twojej łaski. kiedy wybiorę opcję Brak opcji z komórki, chcę, aby poniższe kolumny były zablokowane / wyszarzone.

Czy to jest możliwe? Próbowałem tej formuły, ale nie działa

Prywatny Sub Worksheet_Change (ByVal Target As Range)

Jeśli zakres („D90”) = „Tak” Wtedy

Zakres ("C94:F104"). Zablokowane = Fałsz

ElseIf Range ("D90") = "Nie" Wtedy

Zakres ("C94:F104"). Zablokowane = Prawda

End If

End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Steffi,
Kod działa dobrze.
Jeśli chcesz zablokować zakres komórek, aby uniemożliwić edycję, musisz ręcznie zabezpieczyć arkusz po wybraniu opcji Brak w D90.
A ponieważ D90 mieści się w zakresie C94:F104, po zabezpieczeniu arkusza roboczego, D90 również nie może być edytowane.
Ten komentarz został zminimalizowany przez moderatora na stronie
D90 nie znajduje się w zakresie. To 4 rzędy powyżej C94
Nie ma tu jeszcze żadnych komentarzy
Pokaż więcej
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL