6 votes

Faire glisser les formules VBA (dans plusieurs lignes) jusqu'à la dernière ligne utilisée

J'ai des formules des colonnes O -> X et j'ai besoin de les faire glisser jusqu'à la dernière ligne utilisée. Voici le code actuel que j'utilise:

Dim wkb As Workbook
Dim wkbFrom As Workbook
Dim wks As Worksheet
Dim rng As Range
Dim path As String, FilePart As String
Dim TheFile
Dim loc As String
Dim Lastrow As Long

Set wkb = ThisWorkbook
loc = shPivot.Range("E11").Value
path = shPivot.Range("E12").Value
FilePart = Trim(shPivot.Range("E13").Value)
TheFile = Dir(path & "*" & FilePart & ".xls")
Set wkbFrom = Workbooks.Open(loc & path & TheFile & FilePart)
Set wks = wkbFrom.Sheets("SUPPLIER_01_00028257_KIK CUSTOM")
Set rng = wks.Range("A2:N500")

'Copie la plage du rapport généré sur le lecteur partagé et la colle dans l'onglet de la semaine en cours du rapport de commande ouvert
rng.Copy wkb.Sheets("Current Week").Range("A4")

With ActiveSheet

    Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
    .Range("O4:X4").AutoFill .Range("O4:X4").Resize(Lastrow)

Le code Lastrow ne fait pas glisser les formules vers le bas

20voto

Mike Kellogg Points 1128

Vous pouvez faire un remplissage automatique comme ceci en VBA (vérifié en utilisant l'enregistrement de macro)

Range("O1:X1").Select
Selection.AutoFill Destination:=Range("O1:X25"), Type:=xlFillDefault

Maintenant que vous avez ce code comme base de travail, vous pouvez utiliser n'importe quelles variables que vous voulez dans la syntaxe comme ceci :

Range("O1:X1").Select
Selection.AutoFill Destination:=Range("O1:X" & Lastrow), Type:=xlFillDefault

0voto

MKR Points 731

J'ai utilisé ceci :

Sub sum_1to10_fill()
Sheets("13").Activate
Range("EG12").Copy
Range("EG12:FT36").PasteSpecial xlPasteFormulas

End sub

...et j'ai rempli toute mon étiquette à la fois vers le bas et vers la droite.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X