Excel - Een macro om een ​​bereik in te stellen en automatisch te vullen

Kwestie

Ik heb een macro voor Excel vastgelegd en een deel van de code is om een ​​indexkolom te maken die de cel vult met een rijtelling (dwz A2 = 1, A3 = 2, enz.) Op basis van de gegevens in kolom B).

  • De macro registreerde en werkte perfect, maar wanneer ik het op een ander bestand probeer te gebruiken, loopt de macro een probleem omdat elk bestand niet hetzelfde aantal gevulde rijen heeft om te tellen.
  • Hoe kan ik de onderstaande code aanpassen om aan te passen aan elk Excel-bestand dat ik open, ongeacht hoeveel rijen met gegevens er zijn?

 Kolommen ("A: A"). Selecteer Selectie.Invoegen Shift: = xlToRight, CopyOrigin: = xlFormatFromLeftOrAbove Range ("A1"). Selecteer ActiveCell.FormulaR1C1 = "Index" Kolommen ("B: B"). Selecteer Selection.Copy Kolommen ("A: A"). Selecteer Selection.PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False Application.CutCopyMode = False Range ("A2"). Selecteer ActiveCell.FormulaR1C1 = "1" Bereik ("A3") Selecteer ActiveCell.FormulaR1C1 = "2" Bereik ("A2: A3") Select Selection.AutoFill Bestemming: = Bereik ("A2: A295324") Bereik ("A2: A295324") rechtenmenu.Selecteer 

Oplossing

Probeer de volgende code:

 Sub test () Dim lRow As Long Columns ("A: A") Selecteer Selection.Insift Shift: = xlToRight Range ("A1"). Waarde = "Index" Bereik ("A2"). Waarde = 1 Bereik (" A3 "). Waarde = 2 Bereik (" A2: A3 "). Selecteer lRow = Bereik (" B "& Rijen.Count) .End (xlUp). Rondselectie. AutoFill Bestemming: = Bereik (" A2: A "& lRow) Sub beëindigen 

Bedankt aan TrowaD voor deze tip.

Vorige Artikel Volgende Artikel

Top Tips