Excel - Makro na nastavenie a automatické dopĺňanie rozsahu

Problém

Zaznamenal som makro pre Excel a časť kódu je vytvoriť index stĺpca, ktorý vyplní bunky s počtom riadkov (tj A2 = 1, A3 = 2, atď) na základe údajov v stĺpci B).

  • Makro zaznamenané a pracoval dokonale, ale keď sa snažím použiť na iný súbor, makro sa spustí do problému, pretože každý súbor nemá rovnaký počet vyplnených riadkov, ktoré sa majú počítať.
  • Ako môžem zmeniť kód nižšie, aby sa prispôsobil ľubovoľnému súboru programu Excel, ktorý otvorím, bez ohľadu na to, koľko riadkov údajov existuje?

 Stĺpce ("A: A") Vyberte položku Výber.Insert Shift: = xlToRight, CopyOrigin: = xlFormatFromLeftOrAbove Range ("A1") Vyberte stĺpce ("B: B") ActiveCell.FormulaR1C1 = "Index" ("B: B"). Stĺpce ("A: A") Vyberte Select.PasteSpecial Paste: = xlPasteFormats, Operácia: = xlNone, _ SkipBlanks: = False, Transpose: = False Application.CutCopyMode = False Range ("A2"). Rozsah "1" ("A3") Vyberte ActiveCell.FormulaR1C1 = "2" Range ("A2: A3") Vyberte Select.AutoFill Destination: = Rozsah ("A2: A295324") Rozsah ("A2: A295324") .Select 

Riešenie

Vyskúšajte nasledujúci kód:

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

Vďaka TrowaD za tento tip.

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy