J'ai deux feuilles dans Excel. Pour cet exemple, feuille 1 et feuille 2.
Feuille 1 : 100 enregistrements avec prénom , Emplacement , Le sexe
Feuille 2 : 100 enregistrements avec prénom , Emplacement , Âge
Les sources des données ne sont pas synchronisées. Par conséquent, j'ai dans la feuille 1 des données qui n'existent pas dans la feuille 2, mais dans la feuille 2, des données qui n'existent pas dans la feuille 1 et dans des données les deux feuilles. Il se peut donc que certains noms de la feuille 1 ne figurent pas dans la feuille 2 et inversement.
Je recherche un moyen automatisé de regrouper les deux feuilles dans une troisième feuille et de renseigner le champ Nom & amp; Lieu et disponibilité, âge et sexe. Je sais que ce serait facile à faire dans MS Access, mais en raison de mon auditoire, je dois garder cela dans Excel et je suis un vrai malentent à VBA: S
Ce que j'ai fait : Sur la feuille 3, j'ai créé des formules pour extraire les données de la feuille 1 et dans la feuille 2, j'ai ajouté un champ ("X"), que la formule apposera sur le champ avec "1" si le champ n'est pas présent dans la feuille. 1 et indiquera "0" si le champ est présent dans la feuille 1. Dans mon esprit, je cherche un moyen qui indique: "Si le champ" X "dans la feuille 2 =" 1 ", extrait ces données. et l'ajouter à la feuille 3, mais je ne sais pas comment faire :(
megre tables excel
et vous trouverez quelque chose comme ceci: digdb.com/excel_add_ins/join_merge_tables_lists Et maintenant, il vous suffit de modifier le code. (Utilisez concat de deux champs pour la recherche)SELECT * FROM
'Sheet1 $' `'Sheet1$'
UNION SELECT * DE'Sheet2$'
`'Sheet2 $'` `Réponses:
cela nécessiterait un script VBA pas si difficile.
Voici le pseudo code
Pour écrire le code, suivez quelques tutoriels en cherchant
Excel vba tutorial
sur un moteur de recherche. Exemple ici: Tutoriel VBALes choses dont vous avez besoin faire sont:
la source
Cela devrait marcher. Mettre dans un module :
Il boucle à travers les lignes sur feuille1 les mettre feuille3 mettre une quatrième colonne s'il y a une coïncidence avec feuille2 .
Après ça passe en boucle feuille2 mettre sur feuille3 lignes non trouvées sur feuille1 .
la source
wks2.Cells(k, 1) = name1 wks2.Cells(k, 2) = wks.Cells(i, 2) wks2.Cells(k, 3) = wks.Cells(i, 3) wks2.Cells(k, 4) = wks1.Cells(j, 3)
i=1
etj=1
àì=2
etj=2
. Le code suppose que les données des deux feuilles se trouvent dans les colonnes 1, 2 et 3. Il pourrait être très difficile de les rechercher sur 135 colonnes.