Přejít k hlavnímu obsahu

Jak propojit zaškrtávací políčka s více buňkami v aplikaci Excel?

Propojení zaškrtávacích políček s více relativními buňkami vám může pomoci rychle a snadno provést některé výpočty, když potřebujete sčítat, počítat nebo průměrovat pouze zaškrtnuté nebo nezaškrtnuté buňky. Pokusili jste se ale někdy v listu propojit zaškrtávací políčka s více buňkami najednou?

Propojte zaškrtávací políčka s více buňkami pomocí vzorce jeden po druhém

Propojte zaškrtávací políčka s více buňkami najednou pomocí kódu VBA


šipka modrá pravá bublina Propojte zaškrtávací políčka s více buňkami pomocí vzorce jeden po druhém

Chcete-li propojit zaškrtávací políčko s konkrétní buňkou, můžete ve skutečnosti použít jednoduchý vzorec pro jejich ruční propojení.

1. Po vložení zaškrtávacích políček do listu zaškrtněte toto políčko stisknutím Ctrl klíč a poté klikněte na první zaškrtávací políčko, které chcete propojit s jinou buňkou.

2. Potom do řádku vzorců zadejte znaménko rovná se =a potom klikněte na jednu buňku, se kterou chcete propojit zaškrtávací políčko, například B2, viz screenshot:

doc-link-multiple-checkboxes-1

3. A pak stiskněte vstoupit klávesa na klávesnici, nyní, když zaškrtnete toto políčko, zobrazí se propojená buňka TRUE, pokud zrušíte zaškrtnutí, zobrazí se NEPRAVDIVÉ, viz screenshot:

doc-link-multiple-checkboxes-2

4. Opakováním výše uvedených kroků postupně propojujete další zaškrtávací políčka.


šipka modrá pravá bublina Propojte zaškrtávací políčka s více buňkami najednou pomocí kódu VBA

Pokud existují stovky a tisíce zaškrtávacích políček, které je třeba propojit s jinými buňkami, první metoda nebude fungovat efektivně, k jejich propojení s více buňkami najednou můžete použít následující kód VBA. Udělejte prosím toto:

1. Přejděte na list se seznamem zaškrtávacích políček.

2. Podržte ALT + F11 klávesy pro otevření Okno Microsoft Visual Basic pro aplikace.

3, klikněte Vložit > Modula vložte následující kód do Okno modulu.

Kód VBA: propojte zaškrtávací políčka s více buňkami najednou

Sub LinkChecks()
'Update by Extendoffice
Dim xCB
Dim xCChar
i = 2
xCChar = "B"
For Each xCB In ActiveSheet.CheckBoxes
If xCB.Value = 1 Then
    Cells(i, xCChar).Value = True
Else
    Cells(i, xCChar).Value = False
End If
xCB.LinkedCell = Cells(i, xCChar).Address
i = i + 1
Next xCB
End Sub

4. A pak stiskněte F5 klíč ke spuštění tohoto kódu, všechna zaškrtávací políčka v aktivním listu byla propojena s buňkami, když zaškrtnete toto políčko, zobrazí se jeho relativní buňka TRUE, pokud zrušíte zaškrtnutí políčka, měla by se zobrazit propojená buňka NEPRAVDIVÉ, viz screenshot:

doc-link-multiple-checkboxes-3

Poznámka: Ve výše uvedeném kódu, i = 2, číslo 2 je počáteční řádek zaškrtávacího políčka a písmeno B je umístění sloupce, kam potřebujete propojit zaškrtávací políčka. Můžete je podle potřeby změnit.


Související články:

Jak vybrat všechna zaškrtávací políčka pomocí jediného zaškrtávacího políčka v aplikaci Excel?

Jak rychle vložit více zaškrtávacích políček v aplikaci Excel?

Jak rychle odstranit více zaškrtávacích políček v aplikaci Excel?

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
Comments (17)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Will this work when I try to sort Alphabetically? I've found that when I sort from A-Z, the check boxes do not follow the cells they were originally next to. Will your method help? Thank you!
This comment was minimized by the moderator on the site
My problem is: I am creating a to do list with daily habits. I want to be able to make statistics from it using the true and false from checking the box linked to a cell but do not want to individually do it, but when i use the code nothing happens?
This comment was minimized by the moderator on the site
Hello, Gregor,
The VBA code works well in my workbook.
You can upload your file here, so that we can check where the problem is.
Thank you!
This comment was minimized by the moderator on the site
Здравствуйте.
Подскажите. Возможно ли суммирование чисел в ячейках по установке флажка?

https://drive.google.com/file/d/1qmEnngPDdgWTISJETJ44IkxG-MABfqhh/view?usp=sharing[/img][/b][/u][/b

В ячейке F3 скрыто число 2 а в ячейке G3 скрыто число 0,3, можно ли сделать так чтоб при установки галочки в ячейке Q3 вычислялась сумма.
Сумма вычислений только на строку в диапазоне F3-P3
This comment was minimized by the moderator on the site
great thread and it works for me.
BUT, I need to save the TRUE/FALSE data to another sheet. What is the VBA to save it to another sheet other than the active one?
This comment was minimized by the moderator on the site
How about if you have some empty rows in ColumnA (as per your example) in between checkboxes? Using the above code it gets the linked cells wrong if there are empty rows because it does not skip them. Interested to see the solution
This comment was minimized by the moderator on the site
Did u find any solution for this? Same problem
This comment was minimized by the moderator on the site
Sub LinkCheckBoxes()

Dim chk As CheckBox

Dim lCol As Long

lCol = 1 'number of columns to the right for link



For Each chk In ActiveSheet.CheckBoxes

With chk

.LinkedCell = _

.TopLeftCell.Offset(0, lCol).Address

End With

Next chk



End Sub
This comment was minimized by the moderator on the site
Hello! Nice post about the VBA... but what if there are 3 columns that has checkboxes that needs to be linked in three other columns as well? Let's say columns B, C, and D has checkboxes and should be linked to columns H, I, and J respectively.
This comment was minimized by the moderator on the site
Hi, Having same problem - Have you found out how to get around this? Thanks, Paul
This comment was minimized by the moderator on the site
Hey,

Try this:

Sub LinkCheckBoxes()
Dim chk As CheckBox
Dim lCol As Long
lCol = 2 'number of columns to the right for link

For Each chk In ActiveSheet.CheckBoxes
With chk
.LinkedCell = _
.TopLeftCell.Offset(0, lCol).Address
End With
Next chk

End Sub



If you have for example, checkboxes in D,E,F change "Icol" to 1, so it links to G,H and I, respectively.
This comment was minimized by the moderator on the site
Hi, I have the same issue but did not work for me, can you help please.Thanks
This comment was minimized by the moderator on the site
thank you very much
This comment was minimized by the moderator on the site
Can you help me out with this same problem?
This comment was minimized by the moderator on the site
Can I do this and program the boxes to say something other than true and false?
This comment was minimized by the moderator on the site
Hi, In your VBA code: link checkboxes to multiple cells at once, the code is set up to link the cell below it. How is the code if I want to link the cell to the left of the first one? Thanks!
This comment was minimized by the moderator on the site
i have more than 40000 cell which have checkbox. when i use this code, it takes more than 5 second to process, i define different macros for different cells but i have still the problem, what can i do?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations