Excel - makro pro nastavení a automatické vyplnění rozsahu

Problém

Zaznamenal jsem makro pro Excel a součástí kódu je vytvořit sloupec indexu, který vyplní buňku počtem řádků (tj. A2 = 1, A3 = 2 atd.) Na základě údajů ve sloupci B).

  • Makro bylo zaznamenáno a pracovalo dokonale, ale když se ho pokusím použít v jiném souboru, makro se spustí do problému, protože každý soubor nemá stejný počet řádků, který má být započítán.
  • Jak mohu změnit níže uvedený kód tak, aby se přizpůsobil libovolnému souboru aplikace Excel, který otevřu, bez ohledu na to, kolik řádků dat existuje?

 Sloupce ("A: A") Vyberte výběr.Insert Shift: = xlToRight, CopyOrigin: = xlFormatFromLeftOrAbove Range ("A1") Vyberte sloupce ActiveCell.FormulaR1C1 = "Index" ("B: B"). Sloupce ("A: A") Vyberte Selection.PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, _ SkipBlanks: = False, Transpose: = False Application.CutCopyMode = False Range ("A2") Vyberte ActiveCell.FormulaR1C1 = Rozsah "1" ("A3") Vyberte ActiveCell.FormulaR1C1 = "2" Range ("A2: A3") Vyberte volbu Selection.AutoFill Destination: = Rozsah ("A2: A295324") Rozsah ("A2: A295324") .Vybrat 

Řešení

Vyzkoušejte následující kód:

 Sub test () Dim lRow As Long Columns ("A: A") Vyberte položku Selection.Insert Shift: = Rozsah xlToRight ("A1") Hodnota = "Index" Rozsah ("A2") Hodnota = 1 rozsah (" Hodnota A3 = "Range = 2 Range (" A2: A3 "). Vyberte lRow = Range (" B "& Rows.Count) .End (xlUp) .Row Selection.AutoFill Destination: = Range (" A2: A "& lRow) Konec Sub 

Díky TrowaD za tento tip.

Předchozí Článek Následující Článek

Nejlepší Tipy