Comment copier des lignes de plusieurs feuilles de calcul en fonction de critères dans une nouvelle feuille?
Supposons que vous ayez un classeur avec trois feuilles de calcul qui ont la même mise en forme que la capture d'écran ci-dessous. Maintenant, vous voulez copier toutes les lignes de ces feuilles de calcul dont la colonne C contient le texte «Terminé» dans une nouvelle feuille de calcul. Comment pouvez-vous résoudre ce problème rapidement et facilement sans les copier et les coller un par un manuellement?
Copiez les lignes de plusieurs feuilles de calcul en fonction de critères dans une nouvelle feuille avec le code VBA
Le code VBA suivant peut vous aider à copier des lignes spécifiques de toutes les feuilles de calcul du classeur en fonction d'une certaine condition dans une nouvelle feuille de calcul. Veuillez faire comme ceci:
1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
2Cliquez sur insérer > Moduleet collez le code suivant dans la fenêtre Module.
Code VBA: Copiez les lignes de plusieurs feuilles en fonction de critères dans une nouvelle feuille
Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
If xWs.Name <> xStr Then
Set xRg = xWs.Range("C:C")
Set xRg = Intersect(xRg, xWs.UsedRange)
For Each xRRg In xRg
If xRRg.Value = xRStr Then
xRRg.EntireRow.Copy
xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
xC = xC + 1
End If
Next xRRg
End If
Next xWs
Application.DisplayAlerts = True
End Sub
Notes: Dans le code ci-dessus:
- Le texte "Complété" dans ce xRStr = "Terminé" script indique la condition spécifique sur laquelle vous souhaitez copier des lignes;
- C: C dans ce Définissez xRg = xWs.Range ("C: C") script indique la colonne spécifique où se situe la condition.
3. Puis appuyez F5 clé pour exécuter ce code, et toutes les lignes avec la condition spécifique ont été copiées et collées dans une nouvelle feuille de calcul nommée Kutools for Excel dans le classeur actuel. Voir capture d'écran :
Plus d'articles relatifs d'extraction ou de copie de données:
- Copier les données dans une autre feuille de calcul avec un filtre avancé dans Excel
- Normalement, nous pouvons appliquer rapidement la fonction de filtre avancé pour extraire des données des données brutes dans la même feuille de calcul. Mais, parfois, lorsque vous essayez de copier le résultat filtré dans une autre feuille de calcul, vous obtenez le message d'avertissement suivant. Dans ce cas, comment pourriez-vous gérer cette tâche dans Excel?
- Copier des lignes dans une nouvelle feuille en fonction des critères de colonne dans Excel
- Par exemple, il existe une table d'achat de fruits et vous devez maintenant copier les enregistrements dans une nouvelle feuille en fonction des fruits spécifiés, comment le faire facilement dans Excel? Ici, je vais présenter quelques méthodes pour copier des lignes dans une nouvelle feuille en fonction des critères de colonne dans Excel.
- Copier les lignes si la colonne contient du texte / une valeur spécifique dans Excel
- Supposons que vous souhaitiez trouver des cellules contenant du texte ou une valeur spécifique dans une colonne, puis copier la ligne entière où se trouve la cellule trouvée, comment pourriez-vous y faire face? Ici, je vais présenter quelques méthodes pour trouver si la colonne contient du texte ou une valeur spécifique, puis copier la ligne entière dans Excel.
Les meilleurs outils de productivité de bureau
Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%
- Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée
- Fusionner les cellules / lignes / colonnes et conservation des données; Contenu des cellules divisées; Combiner les lignes en double et la somme / moyenne... Empêcher les cellules en double; Comparer les gammes
- Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
- Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
- Formules favorites et insérer rapidement, Plages, graphiques et images; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
- Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules
- Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
- Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF
- Regroupement du tableau croisé dynamique par numéro de semaine, jour de la semaine et plus encore ... Afficher les cellules déverrouillées et verrouillées par différentes couleurs; Mettre en évidence les cellules qui ont une formule / un nom
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!