J'essaie de créer une macro qui exécutera un vlookup
puis la vlookup
automatiquement jusqu'à la dernière cellule adjacente qui contient des données. Lorsque j'ai initialement créé la macro, l'set de données contenait 1917 lignes de données, c'est pourquoi vous continuerez à le voir en reference 1917
. Cependant, l'set de données varie en taille quotidienne.
Cette macro particulière prend quelques étapes avant d'arriver à ce point:
vlookup
dont j'ai besoin pour que datatables vlookup
complétées jusqu'à la dernière cellule adjacente vers la gauche vlookup
que je dois aussi compléter jusqu'à la dernière cellule adjacente à gauche Voici le code pour les deux vlookup
je suis en difficulté:
Range("E2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-4],'CURRENT DAY'!R[-1]C[-4]:R[2498]C[1],5,0)" ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],'CURRENT DAY'!R1C1:R2500C6,5,0)" Range("E2").Select Selection.AutoFill Destination:=Range("E2:E1917") Range("E2:E1917").Select Columns("E:E").EntireColumn.AutoFit Range("F2").Select ActiveCell.FormulaR1C1 = _ "=VLOOKUP(RC[-5],'CURRENT DAY'!R[-1]C[-5]:R[2498]C,6,0)" ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],'CURRENT DAY'!R1C1:R2500C6,6,0)" Range("F2").Select Selection.AutoFill Destination:=Range("F2:F1917") Range("F2:F1917").Select
Il n'est pas nécessaire de replace automatiquement. Trouvez simplement la dernière ligne dans la colonne A et utilisez celle pour désigner la plage dans laquelle mettre la formule r1c1
Dim lastrow As Long lastrow = Range("A2").End(xlDown).Row Range("E2:E" & lastrow).FormulaR1C1 = "=VLOOKUP(RC[-4],'CURRENT DAY'!R1C1:R2500C6,5,0)" Range("F2:F" & lastrow).FormulaR1C1 = "=VLOOKUP(RC[-5],'CURRENT DAY'!R1C1:R2500C6,6,0)" Columns("E:F").EntireColumn.AutoFit