Maison  >  Article  >  Tutoriel logiciel  >  Comment extraire les données de colonnes spécifiées de plusieurs fichiers Excel d'environ 200 et les résumer dans un nouveau fichier

Comment extraire les données de colonnes spécifiées de plusieurs fichiers Excel d'environ 200 et les résumer dans un nouveau fichier

WBOY
WBOYavant
2024-01-23 22:57:191329parcourir

Comment extraire les données de colonnes spécifiées de plusieurs fichiers Excel denviron 200 et les résumer dans un nouveau fichier

Comment extraire certaines colonnes d'environ 200 fichiers Excel et les résumer dans un nouveau

Après avoir exécuté Excel, maintenez la touche alt enfoncée et appuyez sur f11, i, m dans l'ordre

Collez le code ci-dessous, apportez les modifications nécessaires et appuyez sur f5 pour obtenir le résumé des résultats dans la feuille de calcul actuelle.

Sous test()

c = Tableau(1, 3, 5, 7, 8)

p = "d : le répertoire où se trouve le fichier récapitulatif" 'Modifier en fonction de la situation réelle Attention à ne pas rater le dernier

.

f = Dir(p & "*.xlsx")

Définir ns = ActiveSheet

Faire jusqu'à f = ""

Définir wb = Workbooks.Open(p & f)

Pour i = 0 à 4

n = n + 1

ns.Cells(2, n).Resize(144).Value = wb.Sheets("Pièce 1").Cells(2, c).Resize(144).Value

Suivant

wb.Fermer Faux

f = Dir

Boucle

Fin du sous-marin

Extraire les données de plusieurs tableaux Excel dans le même format

Propriétaire, je pense que ce que vous faites est réalisable. Les moines n'osent pas mentir, et je n'ose pas mentir même si je ne deviens pas moine !

Si vous ne voulez pas renoncer à cette opportunité, j'aimerais essayer, s'il vous plaît HI et laissez-moi un message.

Réponse : lxlzmh2002 - Grand Magicien Niveau 8 2009-8-19 04:40

================================================= === ========================

Propriétaire, aujourd'hui, j'ai aidé quelqu'un à écrire un programme VBA pour fusionner plusieurs tables. Je me suis soudainement souvenu que j'avais vu un message similaire, j'ai donc trouvé votre message et j'y répondrai à nouveau :

.

Le code VBA est le suivant :

Dim sht As Worksheet

Dim rs aussi longtemps, js aussi longtemps, ds aussi longtemps

Dim i As Integer

En cas d'erreur, reprendre ensuite

Set sht = Sheets ("Résumé")

Si Err.Number = 0 Alors

Feuilles ("Résumé").Sélectionner

ActiveSheet.Range("A1").CurrentRegion.ClearContents

Autre

Feuilles.Ajouter avant :=Feuilles(1)

ActiveSheet.Name = "Résumé"

Fin si

Feuilles(2).Range("1:1").Copier les feuilles("Résumé").Range("A1")

Pour i = 2 To Sheets.Count

ds = Sheets("Résumé").Range("A65536").End(xlUp).Row + 1

rs = Feuilles(i).Range("A65536").End(xlUp).Row

js = Sheets(i).Range("A1").End(xlToRight).Column

Avec Feuilles(i)

.Sélectionner

.Range(Cells(2, 1), Cells(rs, js)).Copy Sheets("Résumé").Cells(ds, 1)

Fin avec

Suivant

Feuilles ("Résumé").Sélectionner

Le code ci-dessus est utilisé comme suit :

Enregistrez une macro : Menu "Outils"->Macro->Enregistrer la macro)-->Nommez la macro dans le champ "Nom de la macro"->Définissez une touche de raccourci, saisissez une lettre sous "Touche de raccourci"-->Démarrez l'enregistrement après confirmation Macro.

Modifier la macro : après avoir démarré l'enregistrement, vous pouvez directement appuyer sur la touche stop, puis modifier la macro (Outils->Macro->Macro (M)->Sélectionnez la macro que vous venez de créer->Cliquez sur le bouton "Modifier" sur le droite -> Entrez dans l'interface d'édition de macro -> Supprimez tout le contenu entre Sub XXX et End Sub -> Collez ensuite le code du programme ci-dessus -> Appuyez sur le bouton "Enregistrer" de la barre d'outils -> Menu "Fichier" -- > Fermez et revenez à MicorSoft Excel

Exécuter la macro : appuyez sur la touche de raccourci que vous venez de définir (Ctrl+cette lettre), ou sélectionnez le nom de la macro via le menu "Outils" --> Macro --> Macro (M) --> dans la fenêtre, et appuyez sur la touche Bouton "Exécuter" pour exécuter la macro .

================================================= === ==================

Description de la fonction de ce code VBA :

1. Après avoir exécuté le code VBA, le programme ajoutera une feuille de calcul nommée "Résumé".

2. Utilisez la première ligne de la feuille 1 (cela n'a pas de sens de l'appeler feuille 1, le programme connaîtra le nom par lui-même) comme première ligne du tableau "résumé".

3. Ajoutez ensuite toutes les lignes et colonnes à partir de la deuxième ligne de la feuille de calcul, à l'exception du tableau "Résumé", au tableau "Résumé" de manière annexante (la première ligne est généralement considérée comme le titre)

4. Le processus d'ajout est équivalent au copier-coller, mais il est beaucoup plus rapide que le copier-coller manuel. On peut dire qu'il est terminé en un instant. Et si vous utilisez la touche de raccourci pour l'exécuter une fois, toutes les feuilles de calcul seront résumées une fois.

Que cela fonctionne ou non, vous le saurez une fois que vous l'aurez essayé. Si vous avez des questions sur l'utilisation de ce code, n'hésitez pas à me saluer ~~~~~

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer