Ievadiet formulas šūnu diapazonā, izmantojot VBA makro

Satura rādītājs

Lūk, kā izmantot makro, lai aizpildītu šūnu diapazonu ar izvēlētu formulu

Kopējot vai izmantojot automātiskās aizpildes funkciju, programma Excel piedāvā daudzas iespējas, kā pārsūtīt formulas no šūnas uz šūnu diapazonu. Bet kā to izdarīt, izmantojot makro?

Tas ir īpaši noderīgi, ja vēlaties automātiski izveidot tabulas vai sarakstus, izmantojot makro. Šeit jums ir nepieciešams veids, kā aizpildīt šūnas ar formulām.

Nākamajā attēlā parādīts uzņēmumu numuru saraksts. Šī saraksta D slejā vēlaties pievienot summas funkcijas, ar kurām tiek pievienotas A, B un C slejas vērtības.

Lai veiktu šo darbu, izmantojiet VBA makro. Vispirms atveriet darbgrāmatu, kurā vēlaties iekļaut makro. Pēc tam nospiediet taustiņu kombināciju ALT F11, lai palaistu VBA redaktoru. Pēc tam izvēlieties funkciju IEVIETOT - MODULIS. Pēc tam ievadiet šādu makro:

Sub SummenPerMakro ()
Dim šūna kā diapazons
Dim Nr tik ilgi
Par katru šūnu ActiveSheet.Range ("d2: d10")
Nē = šūna. Rinda
Šūna.FormulaLocal = "= SUM (A" & Nr & ": C" & Nr & ")"
Nākamā šūna
Beigt apakš

Marko apstrādā šūnu diapazonu D2: D10 aktīvajā darblapā. Šūnas tiek cilpotas caur šūnu pa šūnai. Makro izmanto FORMULALOCAL rekvizītu, lai ievadītu summas formulu katrā no šīm šūnām.

Šajā formulā pievienotās zonas tiek koriģētas katrā rindā. 2. rindā tas ir A2: C2, 3. rindā tas ir A3: C3 utt.

Formula to dara, izmantojot mainīgo NR, lai vaicātu pašreizējo rindas numuru cilpā, izmantojot rekvizītu ROW. Pēc tam makro pakāpeniski sastāda summas formulu no atsevišķiem teksta komponentiem.

Nākamajā attēlā parādīts rezultāts pēc makro palaišanas. Lai sāktu, programmā Excel izmantojiet taustiņu kombināciju ALT F8 un atlasiet makro SUMMENPERMAKRO.

Ir arī citi veidi, kā darbu paveikt, izmantojot makro. Viens variants ir izmantot makro, lai ievadītu formulu tikai vienā šūnā un pēc tam to nokopētu, lai programma Excel varētu neatkarīgi pielāgot atsauces.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave