Excel VBA - Utilisation d'un UserFrom pour remplir une base de données


Télécharger Workbook

Une fois que vous avez le classeur Guide forme de base de données ouvert, vous devrez peut-être cliquer sur un bouton en haut qui permet d'éditer, vous pouvez aussi avoir besoin de cliquer sur un bouton pour activer les macros si vous ouvrez.

Configuration du module de parler à la base de données

Actuellement, vous devriez être en regardant une feuille de classeur unique avec une petite base de données qui recueille des renseignements personnels sur une personne. Nous allons utiliser un formulaire à remplir ces informations.




Ouvrez l'éditeur VBA (Alt + F11), vous verrez le Fenêtre de projet dans le coin supérieur gauche, il ya un module appelé Ajouter. Double-cliquez sur Ajouter et vous verrez la forme que nous allons utiliser pour remplir la base de données.

Je ai appelé tous les champs d'entrée avec des noms appropriés:

  • Nom du champ = Nom
  • Date de naissance Field = DOB
  • Sexe descente = Sex
  • Email terrain = Email
  • Téléphone = Téléphone
  • T & Cs Box = TC

Ce sont les noms qui seront utilisés dans le code pour référencer les champs de saisie sur le formulaire.

Ce est maintenant le temps de commencer à ajouter le code. Nous ne avons pas besoin la forme de faire quoi que ce soit jusqu'à ce que le Soumettre est enfoncée, puis notre code va résider dans ce bouton.

Double-cliquez sur le Soumettre, code fenêtre se ouvre, pré-rempli avec le code prêt à détecter lorsque le Soumettre est enfoncée.

Tout notre code doit être ajouté entre la ligne des Private Sub CommandButton1_Click () et End Sub. Nous devons d'abord trouver la dernière ligne de la base de données qui contient les données, trouver ceci, on peut dire VBA pour insérer les données du formulaire dans la rangée suivante. Ce résultat est obtenu par le code suivant:

Private Sub CommandButton1_Click () «Vérifier la disponibilité * pour chaque cellule (vide) «Regardez les valeurs des cellules «Regardez la cellule entière 'Recherche de la fin du fichier jusqu'à 'Ajouter 1 à la ligne, ce sera «La prochaine ligne vide LastRow = Cells.Find (_ Quoi: = "*", _ Lookin: = xlValues, _ lookat: = xlWhole, _ SearchDirection: = xlPrevious) .row + 1 End Sub

Maintenant que vous avez fait votre module assez intelligent pour savoir où la prochaine ligne vide dans la base de données, la prochaine étape est de commencer à peupler avec les données de formulaire.

Nous commençons par le déplacement de Prénom pour la base de données. Ajoutez le code suivant au-dessus du End Sub (ligne 17):

"La ligne ci-dessous indique VBA nous ne traitons 'Avec Sheet1 Avec Worksheets ("Sheet1") "Cellules VBA dit que nous suivons 'Une cellule, les informations à l'intérieur «Parenthèse est le nombre de ligne, puis 'Le nombre de Colum. Dans ce cas nous «Utilisation» LastRow "que le numéro de ligne que «Ce est la dernière ligne nous avons déjà travaillé. «On dit alors que la valeur de la cellule à «Pour être remplacée par la valeur de les "noms de la forme .Cells (LastRow, 2) .Value = Names.Value End With

Vous pouvez vérifier que cela fonctionne maintenant en cliquant sur le petit Jouer en haut de l'éditeur de dialogue VBA, situé sur la barre d'outils. Vous pouvez également consulter en appuyant sur F5.

Lors d'un essai, le module devrait apparaître. Type "TEST" pour la Prénom, puis appuyez sur Soumettre. Revenez sur le document Excel et la base de données doit maintenant être rempli avec "Nom" dans la deuxième rangée.

Retour à l'éditeur et finir le reste de la base de données mise à jour du populaire section de code ci-dessous "Avec":

"La ligne ci-dessous indique VBA nous ne traitons 'Avec Sheet1 Avec Worksheets ("Sheet1") "Cellules VBA dit que nous suivons 'Une cellule, les informations à l'intérieur «Parenthèse est le nombre de ligne, puis 'Le nombre de Colum. Dans ce cas nous «Utilisation» LastRow "que le numéro de ligne que «Ce est la dernière ligne nous avons déjà travaillé. «On dit alors que la valeur de la cellule à «Pour être remplacée par la valeur de les "noms de la forme .Cells (LastRow, 2) .Value = Names.Value .Cells (LastRow, 3) .Value = DOB.Value .Cells (LastRow, 4) .Value = Gender.Value .Cells (LastRow, 5) .Value = email.Value .Cells (LastRow, 6) .Value = Telephone.Value .Cells (LastRow, 7) .Value = TCs.Value End With

Vérifiez le code et cette fois de remplir tous les champs avec les informations. Vous remarquerez qu'il ya un problème avec le champ Sexe, il n'y a rien dans la liste déroulante! Remplissez tout le reste, et vous devriez vous retrouver avec le suivant dans la base de données (ou quelque chose de similaire en fonction de ce que vous avez entré):

Cela montre que le module fonctionne comme il se doit, maintenant tout ce que nous avons à faire est d'avoir un moyen pour ouvrir le formulaire et les options de tri dans le Genre Champ .

populaires listes déroulantes sur UserForms

Ce est en fait très simple et utilise la même méthode utilisée pour remplir la base de données. Nous devons ajouter les genres masculin et féminin à la liste avant la balise Soumettre est enfoncée, de sorte que ne peuvent pas être ajouté au code de bouton, vous devez aller à un son propre code qui est appelée lorsque le module est activée.

En vertu de la End Sub ligne de code, nous avons ajouté plus tôt, copiez le code suivant:

(Si votre vue dans la VBA ne est pas sur Code vue de la forme, cliquez-droit sur Ajouter Fenêtre de projet et cliquez sur "Afficher le code")

Private Sub UserForm_Activate () End Sub

Ce code est exécuté lorsque le formulaire à laquelle il appartient est activée. Au-dessus du End Sub, copiez le code suivant:

Avec Sexe .AddItem "Homme" .AddItem "Femme" End With

Ce est si simple. Lorsque le code est appelé, VBA ajouter maintenant «mâle» et «femelle» comme options dans le menu déroulant. Vous pouvez ajouter autant d'articles que vous connectez de cette façon, mais pour les longues listes Il ya de meilleures façons de le faire, que nous allons couvrir dans le prochain centre.

Maintenant, nous devons créer un code d'une ligne pour ouvrir le formulaire si nécessaire

Code

Création Le "formulaire Ouvrez"

Fenêtre de projet l'éditeur VBA (en haut à gauche), faites un clic droit ne importe où et sélectionnez "Insérer "puis" Module "(pas le module de classe!). Une nouvelle forme apparaîtra appelé Module1. Double-cliquez dessus et dans le Fenêtre Propriétés (en bas à gauche), le renommer en "Form_Open". Code de l'espace vide à droite, copiez le code suivant:

Public Sub Open_Add () Add.Show 'Afficher le formulaire appelé "Ajouter" End Sub

Une fois que ce est fait, revenir au document Excel contenant la base de données et de tracer un carré sur la droite de la base de données. Cliquez droit et modifier le texte à lire "Ajouter un élément", maintenant vous devriez avoir quelque chose qui ressemble à ceci:

Faites un clic droit sur le bouton et sélectionnez Affecter une macro, dans la liste qui se affiche, choisissez Open_Add et appuyez sur OK. Maintenant, lorsque vous cliquez sur le bouton, le module est chargé, vous pouvez remplir et soumettre à votre base de données!

Dans le cas où vous êtes coincé ne importe où, vous pouvez télécharger l'exemple de travail complet à partir du lien ci-dessous

Télécharger classeur complet

Références

VBA

Comment vous avez fait sur?

Taux de ce guide

Évaluez-moi! 1 2 3 4 5 Votre vote pour ce guide

(0)
(0)

Commentaires - 0

Sans commentaires

Ajouter un commentaire

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caractères restants: 3000
captcha