09. oktober 2008 - 10:36Der er
7 kommentarer og 1 løsning
Styring af valgfrie checkboxe
Jeg har en række checkboxe som jeg gerne vil tilgå via deres navne, men uden at skulle skrive alle deres navne i vbakoden... I et andet sheet skal man således kunne skrive checkbox-navnene, trykke på en knap, hvorved de valgte checkboxes sættes til true.
Jeg har testet lidt rundt med følgende:
For i = 1 To 2 var1 = Cells(2 + i, 6).Value If Cells(2 + i, 1) = "x" Then ActiveSheet.OLEObjects(var1).Object.Value = true Else ActiveSheet.OLEObjects(var1).Object.Value = false End If Next i
var1 indeholder altså navnet på cb'en, som skal aktiveres hvis der samtidig står "x" i en anden celle. Det ser ud til at ActiveSheet.OLEObjects(var1).Object.Value = true godt kan bruges én gang, men så snart det står flere gange får jeg en fejlmelding hvor der blot står tallet 400...
For Each c In Sheets("Ark4").Range("A3:A5") navn = c.Value Sheets("Ark3").OLEObjects(navn).Object = False If c.Offset(0, 5) = "x" Then Worksheets("Ark3").OLEObjects(navn).Object = True Next
End Sub
Ark3 = hvor checkbokse er - ret evt. til aktuel Ark4 = hvor x sættes - ret evt til aktuel For Each c In Sheets("Ark4").Range("A3:A5") = hvor x'er er ret evt.
fejl For Each c In Sheets("Ark4").Range("A3:A5") = hvor x'er er ret evt. skulle være For Each c In Sheets("Ark4").Range("A3:A5") = hvor navne er ret evt.
Meget mystisk; men efter at have lukket og åbnet det eksempel jeg sendte dig, virker det nu uden fejlmeddelese og det hele... Knapt så betryggende egentlig! For god ordens skyld er koden her:
For i = 1 To 2
For Each c In Range("D" & i + 3 & ":E" & i + 3)
If IsEmpty(c) = False Then navn = c.Value
If Cells(i + 3, 2).Value = "x" Then OLEObjects(navn).Object = True End If
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.