Excel - O macrocomandă pentru setarea și completarea automată a unui interval
Problema
Am înregistrat o macro pentru Excel și o parte a codului este de a crea o coloană index care umple celula cu un număr de rând (adică A2 = 1, A3 = 2, etc.) pe baza datelor din Coloana B).
- Macro-ul a înregistrat și a funcționat perfect, totuși atunci când încerc să-l folosesc pe un alt fișier, macro-ul se confruntă cu o problemă, deoarece fiecare fișier nu are aceleași cantități de rânduri pline de numărare.
- Cum pot modifica codul de mai jos pentru a se adapta la orice fișier Excel pe care îl deschid indiferent de câte rânduri de date există?
Selectați Selection.Insert Shift: = xlToRight, CopyOrigin: = xlFormatFromLeftOrAbove Range ("A1") Selectați ActiveCell.FormulaR1C1 = Coloana "Index" ("B: B"). Coloane ("A: A") Selectați Selection.PasteSpecial Paste: = xlPasteFormats, Operație: = xlNone, _ SkipBlanks: = False, Transpose: = False Application.CutCopyMode = Avertisment False ("A2") Select ActiveCell.FormulaR1C1 = "A2: A295324") Avertisment ("A2: A295324") Selectați "Destination": = Range ("A2: A295324") .Selectați
Soluţie
Încercați următorul cod:
Sub test () Dim LRow ca și coloane lungi ("A: A") Selectați Selection.Insert Shift: = xlToRight Range ("A1") Valoare = A3 ") Valoare = 2 Interval (" A2: A3 ") Selectați lRow = Intervalul (" B "& Rows.Count) .End (xlUp). lRow) End Sub
Mulțumită lui TrowaD pentru acest sfat.