J'ai le code suivant qui est censé ajouter une case à cocher pour chaque ligne dans un objet de liste à côté de lui. Je veux développer un outil d'approbation, qui charge des données à partir d'une base de données et les charge dans l'objet de liste. Après cela, je peux approuver ou désapprouver les données avec la case à cocher et enregistrer les modifications. Comme l'objet listobject aura une longueur variable, les cases à cocher devront être ajoutées et supprimées par le code.Quel type a une case à cocher de feuille de calcul dans vba?
alors voici le code:
Sub Approval()
Dim i As Integer
Dim tbl As ListObject
Dim CBcollection As Collection
Dim CB As msforms.CheckBox ' THIS IS WRONG
Dim sht As Worksheet
Dim L As Double, T As Double, H As Double, W As Double
Dim rng As Range
Set sht = Tabelle1
Set tbl = sht.ListObjects("ApprovalTBL")
Set rng = tbl.Range(2, 1).Offset(0, -1)
W = 10
H = 10
L = rng.Left + rng.Width/2 - W/2
T = rng.Top + rng.Height/2 - H/2
For i = 1 To tbl.ListRows.Count
Set CB = sht.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, DisplayAsIcon:=False, Left:=L, Top:=T, Width:=W, Height:=H)
'the line before will give me an error 13 type missmatch
CBcollection.Add (CB)
Set rng = rng.Offset(-1, 0)
T = rng.Top + rng.Height/2 - H/2
Next i
End Sub
Maintenant la question:
Quel type a une feuille de calcul dans Checkbox normal?
Je toujours utilise "Option Explicit" et je vais toujours dim mes variables au bon type et je ne veux pas utiliser les types de variantes.
Contrôles de formulaire ou des contrôles ActiveX? –