Comment ajouter des boîtes de dialogue Macros Excel avec Visual Basic Editor

Vous pouvez utiliser la fonction InputBox pour ajouter à vos boîtes de dialogue Excel 2013 macros. Lorsque vous exécutez la macro, cette fonction Visual Basic provoque Excel pour afficher une boîte de dialogue d'entrée où vous pouvez entrer à quelque titre que fait sens pour la nouvelle feuille de calcul. La macro met alors ce texte dans la cellule et formats actuelle ce texte, si cela est ce que vous avez formé votre macro pour faire ensuite.

Pour voir comment il est facile d'utiliser la fonction InputBox pour ajouter de l'interactivité à une macro autrement guindé, suivez les étapes pour convertir la Société_Nom de la macro qui entre actuellement le texte “ Mind Over médias ” à celui qui vous invite effectivement pour le nom que vous souhaitez entré. La fonction InputBox utilise la syntaxe suivante:

InputBox (prompt [, titre] [, par défaut] [, xpos] [, ypos] [, helpfile, le contexte])

Dans cette fonction, seul le rapide argument est requis avec le reste des arguments étant facultative. La rapide argument spécifie le message qui apparaît à l'intérieur de la boîte de dialogue d'entrée, invitant l'utilisateur à entrer une nouvelle valeur (ou dans ce cas, un nouveau nom de l'entreprise).

La rapide argument peut être jusqu'à un maximum de 1024 caractères. Si vous souhaitez que le message invite à apparaître sur des lignes différentes à l'intérieur de la boîte de dialogue, vous entrez dans la fonction Chr (13) et Chr (10) dans le texte (pour insérer un retour chariot et un saut de ligne dans le message, respectivement).

L'option titre argument spécifie le texte à afficher dans la barre de titre de la boîte de dialogue d'entrée. Si vous ne spécifiez pas un titre l'argument, Excel affiche le nom de l'application sur la barre de titre. L'option défaut argument spécifie la réponse par défaut qui apparaît automatiquement dans la zone de texte au bas de la boîte de dialogue d'entrée.

Si vous ne spécifiez pas un argument par défaut, la zone de texte est vide dans la boîte de dialogue d'entrée.

La xpos et ypos arguments facultatifs spécifient la distance horizontale entre le bord gauche de l'écran et le bord gauche de la boîte de dialogue et la distance verticale entre le bord supérieur de l'écran et le bord supérieur de la boîte de dialogue. Si vous ne spécifiez pas ces arguments, Excel centre la boîte de dialogue d'entrée à l'horizontale et le positionne environ un tiers de la descente de l'écran verticalement.

La helpfile et contexte arguments optionnels préciser le nom du fichier d'aide personnalisé que vous rendez disponible à l'utilisateur d'expliquer le fonctionnement de la boîte de dialogue d'entrée ainsi que le type de données qu'il accepte.

Dans le cadre du processus de création d'un fichier d'aide personnalisé pour une utilisation dans le système l'aide d'Excel, vous affectez le sujet un certain nombre de contexte approprié à son contenu, qui est ensuite précisé que la contexte argument de la fonction InputBox.

Lorsque vous spécifiez un fichier d'aide et contexte argument en faveur de cette fonction, Excel ajoute un bouton d'aide à la boîte de dialogue personnalisée d'entrée que les utilisateurs peuvent cliquer pour accéder au fichier d'aide personnalisée dans la fenêtre d'aide.

Avant vous pouvez ajouter la ligne de code à la macro avec la fonction InputBox, vous devez trouver l'endroit dans les commandes Visual Basic où la ligne doit aller. Pour entrer le texte Mind Over médias dans la cellule active, la Société_Nom macro utilise la commande Visual Basic suivant:




ActiveCell.FormulaR1C1 = "Mind Over médias"

Pour ajouter de l'interactivité à la macro, vous devez insérer la fonction InputBox sur une ligne dans la fenêtre Code juste au-dessus de cette ActiveCell.FormulaR1C1 déclaration, comme suit:

  1. Placez le point d'insertion dans la fenêtre de code au début de la déclaration de ActiveCell.FormulaR1C1 et appuyez sur Entrée pour insérer une nouvelle ligne.

    Maintenant que vous avez ajouté une nouvelle ligne, vous devez déplacer le point d'insertion à la hauteur.

  2. Appuyez sur la flèche haut pour positionner le point d'insertion au début de la nouvelle ligne.

    Sur cette ligne, vous voulez créer une variable qui fournit le rapide argument de la fonction InputBox. Pour ce faire, vous dites le nom de la variable (InputMsg dans ce cas), suivie de son entrée en vigueur. Veillez à placer le texte du message sur le côté droit du signe égal dans une paire fermée de guillemets.

  3. Tapez le code suivant pour créer la variable InputMsg sur la ligne 8, puis appuyez sur la touche Entrée pour commencer une nouvelle ligne 9:

    InputMsg = "Entrez le nom de la société ou un titre pour cette feuille de calcul dans la zone de texte ci-dessous, puis cliquez sur OK:"

    Ensuite, vous créez une variable appelée inputTitle qui fournit l'option titre argument de la fonction InputBox. Cette variable rend le texte “ Spreadsheet Titre ” apparaître comme le titre de la boîte de dialogue d'entrée. Encore une fois, assurez-vous de placer le nom de la barre de titre du dialogue boîte entre guillemets.

  4. Tapez le code suivant pour créer la variable inputTitle sur la ligne 9, puis appuyez sur Entrée pour insérer une nouvelle ligne 10:

    InputTitle = "Spreadsheet Titre"

    Ensuite, vous créez un nom DefaultText variable qui a fourni l'option défaut argument de la fonction InputBox. Cette variable rend le texte, “ Mind Over médias, n ° 148; apparaître comme l'entrée de la boîte de texte par défaut en bas de la Société Nom boîte de dialogue d'entrée personnalisé.

  5. Tapez le code suivant pour créer la variable DefaultText sur la ligne 10 et appuyez sur Entrée pour insérer une nouvelle ligne 11:

    DefaultText = "Mind Over médias"

    Ensuite, vous créez une variable appelée CompanyName finale qui spécifie la fonction InputBox que son entrée (en utilisant les variables InputMsg, inputTitle et DefaultText que vous venez de créer) et stocke les résultats de cette fonction.

  6. Tapez le code suivant pour créer la variable SpreadsheetTitle qui utilise la fonction InputBox sur la ligne 11:

    SpreadsheetTitle = InputBox (InputMsg, inputTitle, DefaultText)

    Enfin, vous remplacez la valeur, “ Mind Over ” ;, médias dans le ActiveCell.FormulaR1C1 propriété avec la variable SpreadsheetTitle (dont la valeur est déterminée par tout ce qui est entrée dans la boîte de dialogue d'entrée de titre de la feuille de calcul), remplaçant ainsi efficacement cette constante dans la macro avec les moyens pour rendre cette entrée véritablement interactive.

  7. Sélectionner “ Mind Over médias ” sur la ligne 12 et le remplacer par SpreadsheetTitle (sans les guillemets).

  8. Enregistrez la macro éditée en cliquant sur le bouton Enregistrer de la barre d'outils Visual Basic et ensuite revenir à la feuille de calcul en cliquant sur le bouton Afficher Microsoft Excel ou en appuyant sur Alt + F11. Ensuite, cliquez sur le bouton Masquer dans le groupe de la fenêtre de l'onglet Affichage.

    Maintenant, vous êtes prêt à ouvrir un nouveau classeur et exécutez la macro modifiée en appuyant sur Ctrl + N.

La figure montre la fenêtre de code avec la Société édité_Nom de la macro après avoir ajouté les déclarations qui font qu'il est interactif.

image0.jpg

La figure suivante montre la boîte de dialogue Titre de la feuille de calcul en action dans la feuille de calcul. Cette boîte de dialogue de saisie apparaît maintenant automatiquement et vous demande de saisir à chaque fois que vous exécutez la version éditée et maintenant entièrement interactif de la macro Company_Name.

image1.jpg

Pour aller de l'avant et entrer Mind Over médias dans la cellule actuelle et puis formatez-le en utilisant le reste des commandes de macro, il vous suffit de cliquer sur OK dans cette boîte de dialogue personnalisée. Pour entrer et formater le nom d'une autre société, vous tapez simplement le nom de la société (qui remplace automatiquement Mind Over médias dans la zone de texte) avant de cliquer sur OK.


» » » » Comment ajouter des boîtes de dialogue Macros Excel avec Visual Basic Editor