Code VBA filtrage d'une colonne, puis remplir une formule pour les cellules visibles dans une autre colonne
Je suis assez nouveau à des macros, mais je suis en train de colonne de filtre AW, puis tapez le texte qui correspond à ce critère dans la colonne AZ. Bien sûr, j'aimerais remplissage vers le bas de ce texte pour les cellules visibles ensuite, répétez le processus en utilisant d'autres critères filtré dans la colonne AZ. Je suis en utilisant le dessous de codage mais il n'a pas de remplissage vers le bas de la colonne AZ, seulement dans AZ2! Je ne veux pas les en-têtes touchés. D'apprécier l'aide ici! -Amy
Sub Macro16()
' Macro16 Macro
'Insert Column - OK
Columns("AZ:AZ").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("AZ1").Select
ActiveCell.FormulaR1C1 = "Finalized Comment"
Rows("1:1").Select
Range("AS1").Activate
Selection.AutoFilter
'Filter Combined Comment for #NA then type "Style linked to a Dropped T/P"
Dim lastRow As Long
With ActiveSheet
.Range("AW2").AutoFilter Field:=2, Criteria1:="#N/A"
lastRow = .Range("AW" & Rows.Count).End(xlUp).Row
.Range(.Range("AZ2"), .Range("AZ" & lastRow)). _
SpecialCells(xlCellTypeVisible).Value = _
"Style Linked to a Dropped T/P"
End With
'Filter Combined Comment for "Confirmed Cost and Missing HTS Code" then =Combined Comment
Dim lastRow As Long
With ActiveSheet
.Range("AW2").AutoFilter Field:=2, Criteria1:="Confirmed Cost and Missing HTS Code"
lastRow = .Range("AW" & Rows.Count).End(xlUp).Row
.Range(.Range("AZ2"), .Range("AZ" & lastRow)). _
SpecialCells(xlCellTypeVisible).Value = _
"Confirmed Cost and Missing HTS Code"
End With
'Filter Combined Comment for "Unconfirmed Cost and HTS Code Present" then =Unconfirmed Cost
Dim lastRow As Long
With ActiveSheet
.Range("AW2").AutoFilter Field:=2, Criteria1:="Unconfirmed Cost and HTS Code Present"
lastRow = .Range("AW" & Rows.Count).End(xlUp).Row
.Range(.Range("AZ2"), .Range("AZ" & lastRow)). _
SpecialCells(xlCellTypeVisible).Value = _
"Unconfirmed Cost"
End With
'Filter Combined Comment for "Unconfirmed Cost and Missing HTS Code" then =Missing HTS
Dim lastRow As Long
With ActiveSheet
.Range("AW2").AutoFilter Field:=2, Criteria1:="Unconfirmed Cost and Missing HTS Code"
lastRow = .Range("AW" & Rows.Count).End(xlUp).Row
.Range(.Range("AZ2"), .Range("AZ" & lastRow)). _
SpecialCells(xlCellTypeVisible).Value = _
"Missing HTS Code"
End With
End Sub
OriginalL'auteur Amy M | 2013-02-08
Vous devez vous connecter pour publier un commentaire.
EDIT: mis à jour et remanié un peu...
Tim - Lorsque j'essaie d'utiliser ce code pour les 3 autres critères dans la colonne AZ, je reçois un "Duplicat Déclaration dans le Champ d'application Actuel" erreur (lastRow Tant) en surbrillance.
Pouvez-vous mettre à jour votre question à ajouter le code que vous avez maintenant?
Je devine que vous avez dupliqué la ligne
Dim lastRow As Long
- vous avez seulement besoin qu'une seule fois.Je l'ai mis à jour et oui, j'ai dupliqué le Dim lastRow Tant pour chaque filtre de la colonne AW. Désolé, je ne savais pas j'ai seulement besoin qu'une seule fois. Auriez-vous l'esprit la modification de mon code donc je sais que le placement? J'apprécie vraiment votre aide!
OriginalL'auteur Tim Williams
La déconstruction de l' Gamme.Méthode AutoFilter et le traitement strictement à l'intérieur en mémoire des tableaux devrait accélérer le processus.
OriginalL'auteur