Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment rendre le nom du bouton de commande dynamique dans Excel?

Cet article parle de la modification dynamique du nom d'un bouton de commande avec des modifications de valeur de cellule spécifiées. Par exemple, lorsque la valeur dans la cellule A1 a été changée en "test", le nom d'un certain bouton de commande sera modifié pour "tester" automatiquement.

Rendre le nom du bouton de commande dynamique avec la valeur de la cellule par le code VBA


Rendre le nom du bouton de commande dynamique avec la valeur de la cellule par le code VBA


Le code VBA suivant peut vous aider à rendre dynamique le nom d'un bouton de commande avec une valeur de cellule spécifiée dans une feuille de calcul. S'il vous plaît faire comme suit.

1. Cliquez Développeur > insérer > Bouton de commande (contrôle ActiveX) insérer un bouton de commande dans la feuille de calcul. Voir la capture d'écran:

2. Après avoir inséré le bouton de commande, faites un clic droit sur l'onglet de la feuille et cliquez Voir le code à partir du menu contextuel ci-dessous:

3. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, s'il vous plaît copiez et collez ci-dessous le code VBA dans la fenêtre.

Code VBA: Rendre le nom du bouton de commande dynamique avec la valeur de la cellule

Dim xStr As String
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xShapeRg As ShapeRange
    On Error Resume Next
    If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
        Me.CommandButton1.Caption = Target.Text
        Set xShapeRg = ActiveSheet.Shapes.Range(xStr)
        If xShapeRg Is Nothing Then Set xShapeRg = ActiveSheet.Shapes.Range("CommandButton1")
        Application.EnableEvents = False
        xShapeRg.Select
        Application.EnableEvents = True
        Selection.Name = Target.Text
    End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If (Not Intersect(Target, Range("A1")) Is Nothing) And Target.Text <> "" Then
        xStr = Target.Text
    End If
End Sub

Note: dans le code, CommandButton1 est le nom du bouton dont vous voulez rendre le nom dynamique, et A1 est la cellule dont vous référerez automatiquement la valeur au nom du bouton.

4. appuie sur le autre + Q touches pour quitter le Microsoft Visual Basic pour applications fenêtre.

5. Désactivez le mode Création en cliquant sur Développeur > Mode de conception.

À partir de maintenant, le nom du bouton de commande sera modifié dynamiquement avec la valeur de cellule spécifiée dans votre feuille de calcul.

Comme ci-dessous capture d'écran, lorsque la valeur de la cellule A1 a été modifiée, le nom du bouton de commande sera automatiquement changé à la même valeur.


Articles connexes:



Outils de productivité recommandés

Office Tab

étoile d&#39;or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d&#39;or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d&#39;or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d&#39;écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sam · 6 months ago
    Can anyone suggest how I would extend the VBA to additionally assign a macro to the command button so clicking the command button would execute a macro associated with the command button name? For example, after renaming the command button to "XYZ", also assign the macro named "XYZ" to the command button click event. Thank you for any help.
    • To post as a guest, your comment is unpublished.
      crystal · 4 months ago
      Hi sam,
      Please try as follows.
      1. Turn on the Design Mode by clicking Developer > Design Mode.
      2. Right click the command button and select View Code in the context menu;
      3. Assign your macro between line Private Sub CommandButton1_Click() and End Sub;
      4. Turn off the Design Mode

      Hope I can help.