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

Jak odznaczyć inne pole wyboru, gdy pole wyboru jest zaznaczone w programie Excel?

Jak pokazano na poniższym gifie, załóżmy, że istnieje lista zakupów, którą musisz sfinalizować. Podczas sprawdzania listy okazuje się, że zaznaczone pozycje w niektórych kategoriach przekraczają budżet i wymagają ponownego wyboru. Ponieważ lista jest zbyt długa, potrzebujesz teraz bardziej wydajnego sposobu automatycznego odznaczania oryginalnego zaznaczonego pola wyboru, gdy nowe pole wyboru jest zaznaczone w kategorii. Ten samouczek pokazuje krok po kroku metodę, która pomoże Ci to zrobić.

Odznacz inne pole wyboru, gdy nowe pole wyboru jest zaznaczone za pomocą kodu VBA


Odznacz inne pole wyboru, gdy nowe pole wyboru jest zaznaczone za pomocą kodu VBA

Jak pokazano na powyższym demo, dziesięć pól wyboru nazwanych Pole wyboru1, Pole wyboru2, Pole wyboru3..., Pole wyboru10 są podzielone na 3 grupy i umieszczone w różnych kategoriach w tabeli.

W tym przykładzie pola wyboru1, 2, 3 znajdują się w jednej grupie, pola wyboru4, 5, 6, 7 znajdują się w jednej grupie, a pola wyboru 8, 9,10 znajdują się w tej samej grupie. W każdej grupie jednocześnie można zaznaczyć tylko jedno pole wyboru. Gdy pole wyboru jest zaznaczone, inne pole wyboru jest automatycznie odznaczane.

Zobaczmy teraz, jak zastosować następujący kod VBA, aby rozwiązać ten problem.

1. Kliknij prawym przyciskiem myszy kartę arkusza i kliknij Wyświetl kod z menu kontekstowego.

2. W otwartym Microsoft Visual Basic for Applications okno, wklej następujący kod VBA do Arkusz (kod) okno.

Kod VBA: odznacz inne pole wyboru, gdy zaznaczone jest nowe pole wyboru

Dim xBol As Boolean
'Updated by Extendoffice 20220816
Private Sub CheckBox1_Change()
SetCheckBoxes "CheckBox1"
End Sub

Private Sub CheckBox2_Change()
SetCheckBoxes "CheckBox2"
End Sub

Private Sub CheckBox3_Change()
SetCheckBoxes "CheckBox3"
End Sub

Private Sub CheckBox4_Change()
SetCheckBoxes "CheckBox4"
End Sub

Private Sub CheckBox5_Change()
SetCheckBoxes "CheckBox5"
End Sub

Private Sub CheckBox6_Click()
SetCheckBoxes "CheckBox6"
End Sub

Private Sub CheckBox7_Click()
SetCheckBoxes "CheckBox7"
End Sub
Private Sub CheckBox8_Click()
SetCheckBoxes "CheckBox8"
End Sub
Private Sub CheckBox9_Click()
SetCheckBoxes "CheckBox9"
End Sub
Private Sub CheckBox10_Click()
SetCheckBoxes "CheckBox10"
End Sub

Private Function SetCheckBoxes(mCheckBoxName As String)
Dim x As Long
Dim xAllArr
Dim xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
'In the following line, the checkboxes enclosed in double quotes belong to the same group, and each checkbox is separated by a comma. To add more checkbox groups, please enclose the checkboxes in new double quotes.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
For xI = LBound(xAllArr) To UBound(xAllArr)
If InStr(xAllArr(xI), mCheckBoxName) > 0 Then
xBol = False
xArrItem = Split(xAllArr(xI), ",")
For xJ = LBound(xArrItem) To UBound(xArrItem)
If xArrItem(xJ) <> mCheckBoxName Then
Me.OLEObjects(xArrItem(xJ)).Object.Value = False
End If
Next
End If
Next
xBol = True
End Function

Private Sub Worksheet_Activate()
xBol = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
xBol = True
End Sub

Uwagi:

1) W kodzie, Pole wyboru1, Pole wyboru2, ... Pole wyboru10 to nazwa pól wyboru;
2) W następnym wierszu pola wyboru ujęte w podwójnych cudzysłowach należą do tej samej grupy, a każde pole wyboru jest oddzielone przecinkiem. Aby dodać więcej grup pól wyboru, umieść pola wyboru w nowych podwójnych cudzysłowach.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Pola wyboru są ActiveX Control pola wyboru.

3. wciśnij inny + Q klucze do zamknięcia Microsoft Visual Basic for Applications okno.

Następnie, gdy zaznaczysz nowe pole wyboru w grupie, pierwotnie zaznaczone pole zostanie automatycznie odznaczone, jak pokazano na poniższym gifie.


Demo: Usuń zaznaczenie innego pola wyboru, gdy pole wyboru jest zaznaczone w programie Excel

  Kutools dla programu Excel zawiera ponad 300 zaawansowanych funkcji dla programu Microsoft Excel. Wypróbuj za darmo bez ograniczeń 30 dni. Pobierz teraz!


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 (0)
Brak ocen. Oceń jako pierwszy!
Nie ma tu jeszcze żadnych komentarzy

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