VBA copie les lignes qui répondent à des critères d'une autre feuille
Je suis nouveau sur le VBA...je veux copier une ligne de la feuille Sheet2 à la feuille Sheet1 si la première cellule de cette ligne dit X et ensuite le faire pour toutes les lignes qui répondent à ce critère. J'ai une erreur dans la condition Si...je ne sais pas comment le résoudre.
Sub LastRowInOneColumn()
'Find the last used row in a Column: column A in this example
Worksheets("Sheet2").Activate
Dim LastRow As Long
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
MsgBox (LastRow)
For i = 1 To LastRow
If Worksheet.Cells(i, 1).Value = "X" Then
ActiveSheet.Row.Value.Copy _
Destination:=Hoja1
End If
Next i
End Sub
Essayez de AUTOFILTER
Je voudrais, si Id savait programmation...j'ai été dans l'apprentissage de VBA pour...deux jours maintenant 🙂 c'est un moyen pour que je puisse comprendre ce qu'est le code sur...
Je voudrais, si Id savait programmation...j'ai été dans l'apprentissage de VBA pour...deux jours maintenant 🙂 c'est un moyen pour que je puisse comprendre ce qu'est le code sur...
OriginalL'auteur Anca | 2014-01-12
Vous devez vous connecter pour publier un commentaire.
Vous devez spécifier workseet. Changement de ligne
à
UPD:
Essayez d'utiliser le code suivant (mais ce n'est pas la meilleure approche. @SiddharthRout suggéré, considérer au sujet de l'aide Filtre automatique):
Autofilter
est la meilleure chose pour ce que j'ai mentionné dans le commentaire ci-dessus.merci, mais maintenant j'ai un nouveau message d'erreur plus tard: ActiveSheet.Ligne.De la valeur.Copiez _ Destination:=Feuil1 .... il dit que l'objet n'admet pas cette convenance ou la méthode..
Je suis totalement d'accord avec vous! Filtre automatique serait la meilleure dans ce cas.
vous devez également chnage
ActiveSheet.Row.Value.Copy
àWorksheets("Sheet2").Rows(i).Copy
Génial, c'est ce dont j'avais besoin, merci beaucoup!
OriginalL'auteur Dmitry Pavliv
Après le formatage de la réponse précédente à mon propre code, j'ai trouvé un moyen efficace de copier toutes les données nécessaires si vous tentez de coller les valeurs renvoyées par
AutoFilter
à une feuille séparée.Dans ce bloc, le
AutoFilter
trouve toutes les lignes qui contiennent la valeur destrSearch
et les filtres toutes les autres valeurs. Puis il copie les cellules (à l'aide d'offset dans le cas où il y a un en-tête), ouvre la destination et colle les valeurs de la plage spécifiée sur la destination.OriginalL'auteur Munkeeface