2009-01-30 15 views

Répondre

3

Je ne sais pas de VBA, mais il devrait y avoir collection « contrôles » sur le formulaire, vous pouvez accéder aux éléments de ce sous le nom de contrôle, comme vous montrer ci-dessus.

cells(i,1).Value = Controls("sm"&c).Value 
0

Avec les zones de texte sur un formulaire, vous pouvez utiliser la collection Controls.

For Each oControl In Me.Controls 
    If Typename(oControl) = "TextBox" Then 
     iCellNumber = Val(Mid$(oControl.Name, 3)) 'Assumes all textboxes have two letter names 
     cells(iCellNumber ,1).Value = val(oControl.Text) 
    End If 
Next oControl 

Si les commandes sont sur la feuille, vous pouvez utiliser la collection des formes sur cette feuille

For Each oControl In Me.Shapes 
    If InStr(oControl.Name, "TextBox") = 1 Then 
     iCellNumber = Val(Mid$(oControl.Name, 3)) 
     cells(iCellNumber ,1).Value = val(oControl.Text) 
    End If 
Next oControl 
1

Une autre méthode serait d'utiliser la propriété ControlSource de chaque zone de texte pour les lier à la pertinente cellules