04. juli 2010 - 09:16Der er
7 kommentarer og 1 løsning
Indsætte checkboxe via makro
Jeg har et ark med data i kolonne A-H, der hele tiden varierer i antal linjer. Dvs. at nogle gange er der 10 linjer. andre gange er der 150 linjer med data.
Jeg vil meget gerne have indsat nogle checkboxe ud for hver linje der indeholder data fra gang til gang.
Jeg håber på at det kan lade sig gøre at checkboxene kan indsættes ca i kollone I. Hver enkelt checkbox skal "linkes" sammen med kolonne H som udgangspunkt altid er SAND fra start.
Kan det lade sig gøre at lave en sådan makro, eller er det noget man skal gøre manuelt?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Sub CheckBoxes() Dim height As Double Dim name As String For i = 0 To 3 name = "CheckBox" & i + 2 height = 9.75 + (i * 12.75) ActiveSheet.CheckBoxes.Add(405, height, 24, 17.25).Select Selection.name = name Next End Sub
CheckBoxene bliver tildelt navn efter hvilken række de er indsat i. Hvis du har anden højde på cellerne end 12,75, så skal det tilpasse, detsamme skal hvor det skal stå - hos mig er det i kolonne i.
ja, du har fat i noget af det rigtige. :-) Men der er lige lidt tilrettelser.
1. Der skal ikke være nogen "label" i de enkelte chekcboxe. Det skal kun være checkboxene som skal være synlige.
2. Den skal teste i hvilke linjer den skal lave checkboxene. Den skal "kun" lave i de linjer der står noget i kolonne A (varierer fra 2-150 linjer)
3. De enkelte checkboxe skal linkes sammen med cellen i kolonne H i samme linje som checkboxen. Kolnne H er SAND/ FALSK og som udgangs punkt står de til SAND alle sammen når checkboxene bliver dannet.
jep, det er korrekt. Men den skal også have en kæde/link til cellen i kolonne H
Når man indsætter en checkbox som et kontrolelement manuelt kan man vælge en "cellekæde" Når man indsætter en checkbox som et activeXobjekt manuelt kan man vælge en "linkedCell"
Ved begge løsninger hænger celler og checkboxe sammen. Kan det lade sig gøre?
Jeg har forsøgt at optage med en makrooptager og der står der f.eks. : .LinkedCell = "a5"
Sub CheckBoxes() Dim height As Double Dim name As String Dim h As Boolean For i = 2 To 4 h = Cells(i, 8).Value If ActiveSheet.Cells(i, 1) <> "" Then name = "CheckBox" & i height = 9.75 + ((i - 2) * 12.75) ActiveSheet.CheckBoxes.Add(405, height, 24, 17.25).Select With Selection .name = name .Characters.Text = "" .LinkedCell = "H" & i End With If h Then Cells(i, 8).Value = True End If End If Next End Sub
Hvis det ikke er meningen, at H skal være sand, hvis den var det, så kan du bare fjerne den sidste IF løkke
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.