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

Hur automatiskt centrera kryssrutan i cellen i Excel?

När du infogar kryssrutor i celler i Excel kanske du märker att det är svårt att ordna alla kryssrutor ordnat som den vänstra skärmdumpen visas. Egentligen kan du flytta alla kryssrutor till cellcentret för att hålla dem ordentligt ordnade. Metoden i den här artikeln kan hjälpa dig.

Autocentrera kryssruta i cell med VBA-kod


Autocentrera kryssruta i cell med VBA-kod

För att automatiskt centrera alla kryssrutor i celler i ett aktuellt kalkylblad, gör så här.

1. I kalkylbladet måste du automatiskt centrera alla kryssrutor, trycka på andra + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer klicka på fönstret Insert > Modulerna. Kopiera och klistra sedan in VBA-kod i kodfönstret.

VBA-kod: Centrera automatiskt alla kryssrutor i celler

Sub CenterCheckbox ()
    Dim xRg As Range
    Dim chkBox As OLEObject
    Dim chkFBox As CheckBox
    On Error Resume Next
    Application.ScreenUpdating = False
    For Each chkBox In ActiveSheet.OLEObjects
        If TypeName(chkBox.Object) = "CheckBox" Then
            Set xRg = chkBox.TopLeftCell
            chkBox.Width = xRg.Width * 2 / 3
            chkBox.Height = xRg.Height
            chkBox.Left = xRg.Left + (xRg.Width - chkBox.Width) / 2
            chkBox.Top = xRg.Top + (xRg.Height - chkBox.Height) / 2
        End If
    Next
    For Each chkFBox In ActiveSheet.CheckBoxes
        Set xRg = chkFBox.TopLeftCell
        chkFBox.Width = xRg.Width * 2 / 3
        chkFBox.Height = xRg.Height
        chkFBox.Left = xRg.Left + (xRg.Width - chkFBox.Width) / 2
        chkFBox.Top = xRg.Top + (xRg.Height - chkFBox.Height) / 2
    Next
    Application.ScreenUpdating = True
End Sub

3. tryck på F5 nyckel. Sedan flyttas alla kryssrutor till mitten av cellerna omedelbart enligt nedanstående skärmdump.

Anmärkningar: Denna VBA-kod kan tillämpas på både CheckBox (ActiveX Control) och CheckBox (Form Control).

Dricks: Om du vill infoga flera kryssrutor i ett valt område i bulk kan du prova Kryssrutor för satsinsats verktyg pf Kutools för Excel. Eller satsa flera alternativknappar i batch med Alternativknappar för batchinsats verktyg. Dessutom kan du ta bort alla kryssrutor samtidigt med Bockradera kryssrutor verktyget som visas nedan. Du kan gå till gratis nedladdning av programvaran utan begränsning i 30 dagar.


Relaterade artiklar:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (9)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Ditt VDA-skript fungerar delvis. För när jag använde den ändrades den länkade cellen bredvid kryssrutan och länkades till en cell under den.
Denna kommentar minimerades av moderatoren på webbplatsen
Detta fungerade utmärkt för mig förutom att det inte justerar det med texten i nästa cell som är bottenjusterad. Finns det något sätt att justera kryssrutorna för bottenjusterade för att få dem att justera med texten i nästa cell? Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
VBA fungerar inte alls för mig. När jag trycker på F5 ser det ut som att modulen körs, men kryssrutorna flyttade sig inte.
Denna kommentar minimerades av moderatoren på webbplatsen
Efter lite mer experimenterande kom jag på att VBA fungerar för manuellt infogade kryssrutor, men om jag använder Kutools batchinlägg gör den det inte. Hur centrerar jag alla kryssrutor som infogats med Kutools?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej quadma,
Koden fungerar också för kryssrutorna som infogats av Kutools. Vilken Excel-version använder du?
Denna kommentar minimerades av moderatoren på webbplatsen
Jag använder office 360. Jag tror att problemet jag har är att när jag använder Kutools batchinlägg är storleken på kryssrutans objekt lika bred som kolumnen som det har infogats i (dvs. kryssrutans objektbredd är större än sin höjd), med den synliga kryssrutan som lämnas justerad i objektet. Om jag markerar alla kryssrutaobjekt och sedan ändrar storleken på dem så att höjden och längden är lika, och sedan kör VBA, centreras kryssrutorna i kolumnen.





Detta verkar vara ett onödigt steg, med tanke på att kryssrutor är fyrkantiga, varför gör Kultools inte kryssrutans objekt fyrkantiga?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej quadma,
Kryssrutorna som infogas av Kutools är desamma som Kryssruta (Form Control) som infogats av Excel.
Jag förstår inte riktigt att du sa "gör kryssrutan till objektet fyrkantig". Normalt inkluderar en kryssruta boxfältet och värdefältet. Kutools håller kryssrutornas värde tomma om de markerade cellerna är tomma. Och om det finns värden i markerade celler kommer cellvärdet att tas som kryssrutans värde.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har laddat upp en bild för att visa vad jag menar. Förhoppningsvis hjälper det.
Denna kommentar minimerades av moderatoren på webbplatsen
Hej quadma, jag förstår din poäng. Vi kommer att tänka på det och tacka för ditt tålamod.
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL