Avatar billede Super Mester
04. januar 2020 - 17:25 Der er 9 kommentarer og
1 løsning

Oprette checkboxes i forskellige områder med hver deres egen "over checkbox" - Macro

Jeg har neendstånde kode, men problemet med den Macro er at når jeg klikker i "Check Box4 checkker den i alle de check boxes som der er på siden. Jeg kunne tænke mig at have forskellige områder/afsnit med hvert deres overordnede checkbox som så kan checkke ind i alle de checkbox som har med det relevante område/afsnit at gøre. Ved du hvorlede jeg kan gøre det?

Sub AllCheckboxes()

Dim cb As CheckBox

For Each cb In ActiveSheet.CheckBoxes

    If cb.Name <> ActiveSheet.CheckBoxes("Check Box 4").Name Then
    cb.Value = ActiveSheet.CheckBoxes("Check Box 4").Value
    End If
   
Next

End Sub
04. januar 2020 - 17:45 #1
Navnet "Check Box 4" antyder at du bruger Form Controls, og dem kan du højreklikke på og vælge "Tildel Makro" / "Assign Macro", og så skal du blot lave en makro for hver Form Control du har brugt, og sikre dig at hver af dem peger på den rigtige makro..

ActiveX controls er lidt anderledes, dem kan du dbl.klikke på (i design mode), og så kommer du ind til den egen makro:

Private Sub CheckBox1_Click()
End Sub

Nu kan du vælge blandt de forskellige events for checkboxen - Click, Change, MouseOver, KeyDown osv. men change event'en ligner den du skal bruge til ovenstående

Private Sub CheckBox1_Change()
End Sub

Men det kan altså sagtens løses for begge typer
Avatar billede Super Mester
04. januar 2020 - 19:42 #2
Hej Flemming, Du har helt ret. Jeg har lavet en Makro som ud beskriver som jeg har set på youtube https://www.youtube.com/watch?v=WHrlR-fCVzE&t=350s

Jeg har indtastet denne markro i developer og præcis som du beskriever asigned makroen til CheckBox 4.

Jeg er glad for dit svar, men forstår det desværre ikke 100%, da jeg ikke er excel superbruger og ej heller har arbejdet med ActiveX.

I mit eksempel har jeg:
1ste tabel: CheckBox 4 (som jeg har asigned Markroen til). Den er i celle d8. Derudover der der checkboxes i celle d9,d10 og d11. Når jeg klikker i d8, bliver der "vinget af" i d9,d10 og d11.

2nd tabel: CheckBox 6 i celle d18 og 3 andre checkboxe herunder i cellerne d19,d20 og d21. Problemet er at når jeg klikker i celle d8 bliver også d19,20 og d21 vinget af. Det må de gerne blive, men kun når jeg klikker på Checkbox 6 i celle d18.

Hvorledes ændre jeg marcroèn i Developer, Visual Basic, Inseart Module fra koden som jeg indledende beskrev, til at blive således, at den Markro jeg asigner til Checkbox 6 kun får indflydelse på cellerne d19, d20 og d21?

Igen mange tak!!"
04. januar 2020 - 19:58 #3
OK - vi nøjes med at kigge på det du har brugt.

Application.Caller er en funktion, som returnerer navnet på den kontrol, som kalder din makro, så du kunne måske prøve noget alla dette her

Sub AllCheckboxes()
    Dim cb As CheckBox

    If Application.Caller <> ActiveSheet.CheckBoxes("Check Box 4").Name Then
        ActiveSheet.CheckBoxes(Application.Caller).Value = ActiveSheet.CheckBoxes("Check Box 4").Value
    End If

End Sub
04. januar 2020 - 19:58 #4
Sub AllCheckboxes()
    If Application.Caller <> ActiveSheet.CheckBoxes("Check Box 4").Name Then
        ActiveSheet.CheckBoxes(Application.Caller).Value = ActiveSheet.CheckBoxes("Check Box 4").Value
    End If
End Sub
Avatar billede store-morten Ekspert
05. januar 2020 - 00:41 #5
Avatar billede store-morten Ekspert
05. januar 2020 - 20:13 #6
Til føjet eks. med: Kontrolelementer for formular.
Avatar billede Super Mester
05. januar 2020 - 20:36 #7
Hej igen,
Flemming jeg er sikker på at din markro er en et stykke af vejen. Desværre virker den ikke. Jeg er lidt i tvivl om jeg forklarer mig ordentligt. Beklager!

Jeg har 4 rækker, 1 kolonne hviori der i hver celle er en checkbox. Når/hvis jeg klikker i den øvereste checkbox skal de 3 checkboxe neden under automatisk blive checket. MEn kun de 3 checkboxe og ikke andre checkboxe i arket.

Tak for hjælpen!
Avatar billede store-morten Ekspert
05. januar 2020 - 20:46 #8
Har du kikket på eks. i #5 ?
Avatar billede Super Mester
05. januar 2020 - 20:51 #9
Hej Morten,  Jeg kender ikke ActiveX. Ved ikke hvad det er, men jeg vil kigge på det uanset!
Avatar billede Super Mester
06. januar 2020 - 09:26 #10
Store-Morten!

Cool! Mange tak!

Mvh. Frank
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester