KomputilojProgramaro

VBA Excel: specimeno programoj. Makrooj en Excel

Malmultaj homoj scias, ke la unua versio de la populara Microsoft Excel produkto aperis en 1985. Ekde tiam ĝi spertis plurajn modifojn kaj postulo de milionoj da uzantoj tutmonde. Tamen, multaj verkon nur kun iomete kapabloj de ĉi tiu folio de ŝtono kaj eĉ ne scias kiel ili povis fari vivon pli facila por la kapablo Excel programado.

Kio estas VBA

Programado en Excel estas farita de Visual Basic por Apliko programlingvo kiu estis origine konstruita en la plej fama kalkultabelo de Microsoft.

Al liaj merito fakuloj atribuas la relativa facileco de disvolviĝo. Kiel praktiko montras, VBA povas majstri la fundamentojn, eĉ uzantoj, kiuj ne havas profesian programado kapabloj. Por VBA trajtoj inkludas skribo ekzekuto en la oficejo aplikon medio.

La malavantaĝo de la programo estas la problemoj asociitaj kun la kongruo de malsamaj versioj. Ili estas kaŭzitaj de la fakto ke la VBA kodo de la programo rilatas al la funcionalidad kiu ĉeestas en la nova versio de la produkto, sed ne en la malnova. Ankaŭ ekzistas granda malavantaĝo kaj troe alta malfermiteco de kodo por ŝanĝi la vizaĝon de nekonato. Tamen, Microsoft Office, kaj IBM Lotus Symphony ebligas apliki ĉifrado eniro kodo kaj pasvorton agordojn por ĝin vidi.

Objektoj, kolektoj, bienoj, kaj metodoj

Estas kun ĉi tiuj konceptoj vi devas kompreni tiujn, kiuj iras labori en la VBA medio. Unue, vi devas kompreni kio la objekto estas. En Excel, en ĉi tiu ago kiel folio, libron kaj ĉelo gamo. Ĉi tiuj objektoj havas specialajn hierarkio, tio estas: obei unu la alian.

La ĉefa de ili estas la Apliko, la responda Excel programo mem. Sekvita Workbooks, Laborfolioj kaj Range. Ekzemple, por raporti al la ĉelo A1 sur specifa folio devas atentigi la maniero, konsiderante la hierarkio.

Pri la koncepto de "kolekto", ĉi tiu grupo de objektoj de la sama klaso, en kiu registradon donas ChartObjects. Pli elementoj estas ankaŭ objektoj.

Sekva afero - ecoj. Ili estas necesaj trajto de ajna objekto. Ekzemple, por la Range - Estas Valoro aŭ Formulo.

Metodoj - estas la komando por montri ke vi volas fari. Kiam skribi kodon en VBA ilin esti disigita de la objekto punkto. Ekzemple, kiel estos montrita poste, tre ofte kiam programado en "Excel" uzo Ĉeloj komando (1,1) .Select. Ĝi signifas ke estas necese elekti ĉelo kun koordinatoj (1,1), tio estas: Al1.

Tamen, ĝi estas ofte uzita Selection.ClearContents. Lia implementación liberigante la enhavon de la elektita ĉelo.

Kiel komenci

Unue, vi volas krei la dosieron kaj savi ĝin, atribui nomon kaj elektu la tipon de «Libro Excel makroo-aktiva."

Tiam, iru al la VB aplikon, kiu estas sufiĉe por uzi kombinaĵo de «Alt» ŝlosilo kaj «F11». sekva:

  • en la menubreto ĉe la supro de la fenestro, alklaku la piktogramon apud la Excel ikono;
  • Mudule elektita ordono;
  • teni alklakante la ikonon kun la disketo;
  • skribi, ekzemple, kodo konturon.

Aspektas tiel:

Sub programo ()

'Nia kodo

End Sub

Bonvolu noti, ke la linio " 'Nia kodo" estos reliefigita en malsama koloro (verda). La kialo por ĉi tiu apostrofo, liveris al la komenco de la ĉeno, kiu indikas ke kio sekvas estas komento.

Nun vi povas skribi ajnan kodon kaj krei por si novan ilon en VBA Excel (vidu la specimenon programoj. Ktp). Kompreneble, tiuj, kiuj bone konas la fundamentojn de Visual Basic, ĝi estos multe pli facila. Tamen, eĉ tiuj kiuj ne havas, se vi volas esti kapabla akiri komforta sufiĉe rapide.

Makrooj en Excel

Malantaŭ ĉi tiu nomo kaŝas programoj skribitaj en Visual Basic por Apliko lingvo. Tiel, la programado al Excel - estas krei macro por la deziratan kodon. Kun ĉi kapablo, Microsoft kalkultabelo mem-evoluas, adaptante al la postuloj de aparta uzanto. Post traktis kiel krei modulojn por skribi makrooj, eblas daŭrigi kun konkretaj ekzemploj de VBA Excel programo. Estas plej bone komenci kun la plej bazaj kodoj.

EKZEMPLO 1

Tasko: Skribu programon kiu kopias la valoron de la enhavo de unu ĉelo kaj poste skribi al alia.

Por fari tion:

  • malfermi la langeton "Vidi";
  • movi la ikono "macros";
  • skui al la "Rekordo Macro";
  • plenigi malfermita formularo.

Por simpleco, en la "Macro Nomo" forlasi "Makros1" kaj en la "Fulmoklavo" estas enigita, ekzemple, hh (ĉi signifas ke vi povas kuri la ekzemplon programo estos «Stir + h» blitz teamo). Premu Enter.

Nun ke vi jam komencis gravuri la makro, konsistigas la enhavon de ĉelo al alia. Reiri al la originala ikono. Alklaku la "Rekordo Macro". Tiu ago markas la kompletigo de apletoj.

sekva:

  • denove moviĝas al la kordo "Makrooj";
  • estas selektita en la listo "Macro 1";
  • alklaku "Run" (la sama ago komenciĝas Lanĉita fulmoklavojn «Stir + hh»).

Rezulte, la ago kiun oni prezentis dum la registrado de la makro.

Ĝi havas sencon por vidi kiel la kodo aspektas. Por fari tion, reiru al la kordo "Makrooj" kaj alklaku "Redakti" aŭ "Enter". Rezulte, ili trovas sin en la VBA medio. Efektive, la kodo mem situas inter linioj makro Makros1 Sub () kaj Fino Sub.

Se kopiado estis faritaj, ekzemple, de ĉelo A1 en ĉelo C1, unu el la linioj de kodo aspektos Gamo ( "C1"). Elektu. En traduko, ĝi aspektas kiel "Gamo (" C1 "). Elektu", alivorte, faras transiron al VBA Excel, en ĉelo C1.

Aktiva parto de la kodo kompletigas ActiveSheet.Paste teamo. Ĝi signifas registradon enhavo elektita ĉelo (en ĉi tiu kazo, A1) en la elektita ĉelo C1.

EKZEMPLO 2

VBA cikloj helpas krei malsaman makroojn en Excel.

VBA cikloj helpas krei malsaman makrooj. Supozi, ke estas funkcio y = x + x 3 + 3x 2 - cos (x). Vi volas krei makroon por liaj grafikaĵoj. Tio povas esti farata nur per uzado VBA cikloj.

Por la komenca kaj fina valoro de argumento funkcioj preni x1 = 0 kaj x 2 = 10. Cetere, estas necese enkonduki konstanta - la valoro por paŝo ŝanĝas la argumenton kaj komenca valoro por la vendotablo.

Ĉiuj ekzemploj de VBA Excel makrooj estas kreitaj uzante la sama proceduro kiel difinitaj supre. En ĉi tiu aparta kazo, la kodo aspektas kiel:

Sub Programm ()

x1 = 1

x2 = 10

Shag = 0.1

mi = 1

Ĉu Dum x1

y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - Cos (x1)

Ĉeloj (i, 1) .Value = x1 (x1 valoro skribita en la memoro kun la koordinatoj (i, 1))

Ĉeloj (i, 2) .Value = y (y valoro estas skribita en la ĉelo kun la koordinatoj (i, 2))

mi = mi + 1 (valida grafo);

x1 = x1 + tufkormorano (argumento estas ŝanĝita al la paŝo grandeco);

Cirkla

Fino Sub.

Rezulte de ĉi kuri makro "Excel" akiri du kolumnoj, la unua el kiuj estas registritaj la valoroj por x, kaj la duan - al y.

Tiam plani kapabla konstrui sur ili, la normo por "Excel".

EKZEMPLO 3

Por efektivigi cikloj en VBA Excel 2010, tiel kiel en aliaj versioj, kune kun la jam reduktita Ĉu Dum dezajno uzita Por.

Konsideru programon kiu kreas kolumno. En ĉiu ĉelo ĝi estos kolektitaj kvadratoj responda linio nombro. Por la uzo de la dezajno permesos gravuri ĝin tre mallonge, sen la uzo de vendotablo.

Unue oni devas krei macro, kiel priskribita supre. Sekva, skribi la kodon mem. Ni kredas ke ni interesiĝas la valorojn por la 10 ĉeloj. La kodo estas kiel sekvas.

Por i = 1 ĝis 10 Sekva

La komando estas kopiita al la "homa" lingvo, kiel "ripetis de 1 al 10 en pliigoj de unu."

Se la tasko ricevi la kolumno kun kvadratoj, ekzemple, ĉiuj neparaj entjeroj inter 1 kaj 11, ni skribu:

Por mi = 1 al 10 ŝtupo 1 Sekva.

Ĉi tie, paŝi - paŝo. En ĉi tiu kazo, ĝi estas egala al du. Defaŭlte, la foresto de la vorto en la buklo signifas ke ununura paŝo.

La rezultoj devas esti stokita en ĉelo nombro (i, 1). Tiam ĉiufoje vi komencas la ciklon kun kresko en la valoro de i paŝi aŭtomate kreskas kaj linio nombro. Tiel, estos kodo optimumigo.

Ĝenerale, la kodo aspektus kiel:

Sub programo ()

Por mi = 1 al 10 Paŝo 1 (povas esti skribita nur por mi = 1 al 10)

Ĉeloj (i, 1) .Value = i ^ 2 (tio kvadrata valoro estas skribita en la ĉelo (i, 1) i)

Sekva (iusence ludas la rolon de la vendotablo rimedoj kaj alia ciklo komenco)

Fino Sub.

Se farita ĝuste, inkluzive registrado kaj kurado makroojn (vidu. La instrukcioj supre), tiam oni nomas ĉiun fojon difinita grandeco akiros kolumno (en ĉi tiu kazo kiu konsistas de 10 ĉeloj).

EKZEMPLO 4

En ĉiutaga vivo, tre ofte necesas preni tiun aŭ tiu decido laŭ iuj kondiĉoj. Ne povas malhavi ilin en VBA Excel. Ekzemploj de programoj kie la plua disvolviĝo de la algoritmo estas selektita anstataŭ komence antaŭdeterminitaj, plej kutime uzita dezajno de Se ... Tiam (por malfacilaj kazoj) Se ... Tiam ... END Se.

Konsideru la apartan kazon. Supozu ke vi volas krei makroon por "Excel" al la ĉelo kun la koordinatoj (1,1) estis registrita:

1 se la argumento estas pozitiva;

0 se la argumento estas nulo;

1 Se x estas negativa.

La kreo de tia makroo por "Excel" komenciĝas en norma maniero, tra la uzo de "varma" klavoj Alt kaj F11. Plue skribita la sekva kodo:

Sub programo ()

x = Ĉeloj (1, 1) .Value (Ĉi komando atribuas la valoron de x koordinatoj de la ĉela enhavo (1, 1))

Se x> 0 Tiam Ĉeloj (1, 1) .Value = 1

Se x = 0 Tiam Ĉeloj (1, 1) .Value = 0

Se x <0 Tiam Ĉeloj (1, 1) .Value = -1

Fino Sub.

Ĝi restas kuri macro kaj akiri en "Excel" deziris valoro por la argumento.

VBA funkcioj

Kiel vi eble rimarkis, en la plej fama programo Microsoft kalkultabelo apliko ne tro malfacila. Precipe se vi lernas kiel uzi VBA funkcioj. Entute tiu programlingvo kreita specife por skribi aplikojn en "Excel" kaj la Vorto, pri 160 funkcioj. Ili povas esti dividita en plurajn grandajn grupojn. Ili estas:

  • Matematika funkcioj. Apliki ilin al la argumento de la kosinuso valoro estas akirita, la natura logaritmo, kaj tiel la tuta parto.
  • Financaj funkcioj. Pro lia disponibilidad kaj uzo programado en Excel, vi povas efikaj iloj por librotenado kaj financaj kompromisoj.
  • Array prilaborado funkcioj. Tiuj inkludas Array, IsArray; LBound; UBound.
  • VBA Excel funkcii por la linio. Tio estas sufiĉe granda grupo. Ĝi inkludas, ekzemple, Spaco funkcio por krei ĉenon kun kelkaj mankojn egala al la entjera argumento aŭ Asc translokigoj simboloj al ANSI-kodo. Ĉiuj ili estas vaste uzitaj kaj permesas vin labori kun kordoj en la "Excel" krei aplikojn multe pli facile labori kun ĉi tiuj tabloj.
  • Datumoj tipo konvertiĝo funkcioj. Ekzemple, CVar revenas Esprimo argumenton, konvertado al Varianto datumtipo.
  • Dato funkcioj. Ili ege pligrandigi la norma trajtoj de "Excel". Do, WeekdayName redonas la nomon (plena aŭ parta) de la tago de la semajno por lia numero. Eĉ pli utila estas la Timer. Li donas la nombron de sekundoj, kiuj pasis ekde noktomezo al aparta momento de la tago.
  • Funkcio por konverti nombran argumenton en la malsamaj nombrosistemoj. Ekzemple, Okt eligas al octal reprezento de la nombro.
  • formatado funkcioj. La plej grava de ĉi tiuj estas la Formato. Ĝi resendas Varianto kun esprimo formatita laŭ instrukcioj donitaj en la priskribo de la formato.
  • ktp.

La studo de la proprietoj de ĉi tiuj funkcioj kaj ilia apliko signife pligrandigi la medio de "Excel".

Ekzemplo 5

Ni provu solvi pli kompleksa problemojn. Ekzemple:

Dan papero dokumenton la reala nivelo de kostoj de la entrepreno raporto. postulas:

  • evoluigi la desegnon parto de kalkultabelo "Excel";
  • fari VBA programon kiu petas krudaj datumoj por plenigi ĝin, por realigi la necesajn ŝtonojn kaj plenigu la ŝablono de la responda ĉelo.

Konsideru unu el la sekvaj solvoj.

Krei ŝablono

Ĉiuj agoj estas farataj sur stangon folio en Excel. Liberaj ĉeloj rezervita por eniri datumojn en la monato, jaro, titolo-konsumanto firmaoj, la kvanto de la kostoj, ilia nivelo de spezo. Kiel la nombro de firmaoj (firmaoj), en respekto de kiu la raporto estas priskribitaj, la ĉeloj por fari surbaze de valoroj kaj profesia nomo ne rezervita anticipe. Laborfolio asignita al nova nomo. Ekzemple, "Օ Raporto".

variabloj

Skribi la programo aŭtomate plenigi la ŝablono, elektu la notacio. Ili estos uzataj por la variabloj:

  • NN- nombro de la aktuala linio de la tabelo;
  • TP kaj TF - planita kaj reala spezo;
  • SF kaj SP - reala kaj planitaj tutaj kostoj;
  • IP kaj SE - planita kaj reala kostoj nivelo.

Ni signifi la saman literoj, sed kun "prefikson» Itog amasiĝo entute por tiu kolumno. Ekzemple, ItogTP - Koncerne la kolumno titolita kiel "la planita spezo."

Solvo de la problemo uzante VBA programado

Uzante ĉi tiu skribmaniero, rezultiĝas la formulo por la varianco. Se vi volas realigi la ŝtonon en% ni havas (F - P) / P * 100, kaj en la kvanto de - (F - P).

La rezultoj de ĉi tiuj kalkuloj povas esti plej bone simple fari "Excel" kalkultabelo en la taŭgan ĉeloj.

Por la rezulto kaj prognozo fakte ricevis per formuloj ItogP = ItogP + P kaj ItogF = ItogF + F.

Por devioj uzi = (ItogF - ItogP) / ItogP * 100 se la kalkulo estas realigita kiel procento, kaj se la tuta valoro - (ItogF - ItogP).

La rezultoj refoje registrita en la konvena ĉeloj, do ne necesas atribui ilin variabloj.

Antaŭ komenci krei programon vi deziras savi la workbook, ekzemple, sub la nomo "Otchet1.xls".

Gazetaro "Krei raportado tablo," vi devas premi nur 1 horo post eniri la kaplinion informoj. Vi devus scii kaj aliaj reguloj. Aparte, la butono "Aldoni linion" devas esti premis ĉiufoje post eniri en la tabelo de valoroj por ĉiu agado. Post eniri ĉiuj datumoj postulas premi la butonon "Fini", kaj tiam ŝanĝi al "Excel" en la fenestro.

Nun ke vi scias kiel solvi la problemon por Excel kun makrooj. La kapablo uzi VBA Excel (vidu specimeno programoj. Supre) kaj vi eble devas labori en la medio de la plej popularaj en la momento, la tekstoredaktilo "Word". Aparte, registrante, kiel montrita en la komenco de ĉi tiu artikolo, aŭ per skribanta kodo por krei la menuo butonoj tra kiu multaj el la operacioj en la teksto povas esti farita de premanta la ŝlosilojn deĵoras aŭ per la "Vido" ikono kaj "Makrooj" langeto.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 eo.birmiss.com. Theme powered by WordPress.