Edukiak
Batzuetan oso denbora luzea behar da gauza batzuk ateratzeko. Baina JADA asmatuak direnean, agerikoak eta hutsalak ere badirudi. “Zer, posible zen?” serietik.
Lehen bertsioetatik, Microsoft Excel-eko leihoaren behealdean dagoen egoera-barrak aukeratutako gelaxken guztirakoak erakusten zituen tradizionalki:
Nahi izanez gero, emaitza hauetan eskuineko botoiarekin klik egin eta laster-menuan zein funtzio ikusi nahi ditugun zehatz-mehatz hautatzea ere posible zen:
Eta duela gutxi, Excel-en azken eguneraketetan, Microsoft-eko garatzaileek eginbide sinple baina adimentsua gehitu zuten: orain emaitza hauetan klik egiten duzunean, arbelean kopiatzen dira!
Beauty.
Baina zer gertatzen da oraindik (edo dagoeneko?) Excel-en halako bertsiorik ez dutenekin? Hemen makro sinpleek lagun dezakete.
Hautatutako gelaxken batura arbelean kopiatzea makro bat erabiliz
Ireki fitxan developer (Garatzailea) editor Visual Basic edo erabili teklatuko lasterbide hau Alt+F11. Txertatu modulu huts berria menuaren bidez Txertatu – Modulua eta kopiatu bertan kodea:
Sub SumSelected() TypeName(Selection) <> "Barrutia" bada, Irten Azpitik GetObject("Berria:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum (Selekzioa) .EndInd Subboard With EndInd
Bere logika sinplea da:
- Lehenik eta behin "ergelarekiko babesa" dator: zehazki zer nabarmentzen den egiaztatzen dugu. Gelaxkak ez badira hautatzen (baina, adibidez, diagrama bat), irten makrotik.
- Ondoren komandoa erabiliz Getobject datu-objektu berri bat sortzen dugu non hautatutako gelaxken batura geroago gordeko den. Kode alfanumeriko luze eta ulertezina da, hain zuzen ere, liburutegia dagoen Windows erregistroko adarrerako esteka. Microsoft Forms 2.0 Objektuen Liburutegia, halako objektuak sor ditzaketenak. Batzuetan trikimailu honi ere deitzen zaio lotespen berantiar inplizitua. Erabiltzen ez baduzu, liburutegi honetarako esteka egin beharko zenuke fitxategian menuaren bidez Tresnak — Erreferentziak.
- Hautatutako gelaxken batura komandotzat hartzen da Lan-orriaFuntzioa.Batuketa(Hautapena), eta, ondoren, ondoriozko zenbatekoa arbelean jartzen da komandoarekin Jarri Arbelean
Erabilera errazteko, makro hau teklatuko lasterbide bati esleitu dezakezu, noski, botoia erabiliz Makroak fitxa developer (Garatzailea — Makroak).
Eta makroa exekutatu ondoren zer kopiatu den ikusi nahi baduzu, arbelaren panela aktibatu dezakezu dagokion taldearen beheko eskuineko izkinan dagoen gezi txikia erabiliz. Nagusia (Hasiera) tab:
Ez bakarrik zenbatekoa
Zenbateko hutsalaz gain, beste zerbait nahi baduzu, orduan objektuak eskaintzen dizkigun funtzioetako edozein erabil dezakezu Lan-orriaFuntzioa:
Adibidez, badago:
- Sum – batuketa
- Batez bestekoa - batez besteko aritmetikoa
- Zenbaketa: zenbakiak dituzten gelaxken kopurua
- CountA - betetako gelaxken kopurua
- CountBlank - gelaxka hutsen kopurua
- Min - gutxieneko balioa
- Gehienezko - gehienezko balioa
- Mediana - mediana (balio zentrala)
- ... etab.
Zer gertatzen da hautatutako barrutian errenkadak edo zutabeak (eskuz edo iragazki baten bidez) ezkutatuta? Totaletan kontuan ez hartzeko, gure kodea apur bat aldatu beharko dugu objektuari gehituz Aukeraketa jabetza Gelaxka bereziak (xlCellTypeVisible):
Azpi SumVisible() TypeName(Selection) <> "Barrutia" bada, Irten Azpitik GetObject("Berria:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection.SpecialCell)Tellsypex. PutInClipboard Amaiera End Sub
Kasu honetan, guztizko funtzioen kalkulua ikusgai dauden gelaxketan soilik aplikatuko da.
Formula bizi bat behar baduzu
Amets egiten baduzu, hobe den ez zenbaki bat (konstantea), baizik eta formula bizi bat bufferera kopiatzea, aukeratutako gelaxketarako behar ditugun guztirakoak kalkulatzen dituen agertokiekin asma ditzakezu. Kasu honetan, zatietatik formula itsatsi beharko duzu, dolarraren zeinuak kendu eta koma (VBA-n hautatutako hainbat barrutiren helbideen arteko bereizle gisa erabiltzen dena) puntu eta koma batekin ordezkatuz:
Azpi SumFormula() MotaIzena(Hautapena) <> "Barrutia" bada, Irten Azpitik GetObject("Berria:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ("(Hautatu Ordeztu). Helbidea, ",", ";"), "$", "") & ")" .PutInClipboard End End Sub
Baldintza gehigarriekin batuketa
Eta, azkenik, erabat maniakoentzat, hautatutako gelaxka guztiak ez, baina emandako baldintzak betetzen dituztenak bakarrik laburtuko dituen makro bat idatz dezakezu. Beraz, adibidez, makro batek hautatutako gelaxken batura Bufferean jartzen duen itxura izango du, haien balioak 5 baino handiagoak badira eta, aldi berean, edozein kolorez betetzen badira:
Azpi CustomCalc() Dim myRange As Range If TypeName(Selection) <> "Barrutia" Ondoren Irten Azpitik Hautapenean gelaxka bakoitzeko gelaxka.Balioa > 5 Eta cell.Interior.ColorIndex <> xlNone Then If myRange Is Nothing Orduan ezarri myRange = cell Else Ezarri myRange = Union(nireBarrutia, gelaxka) End If End If Hurrengo gelaxka GetObject("Berria:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum (nireBarrutia) .End EndInClipboard With
Erraz imajina dezakezun bezala, baldintzak erabat ezar daitezke (gelaxka formatuetaraino) eta edozein kantitatetan (baita operadore logikoekin edo edo eta lotuz). Irudimenerako leku asko dago.
- Bihurtu formulak balioetara (6 modu)
- Zer dira makroak, nola erabili, non sartu Visual Basic kodea
- Informazio erabilgarria Microsoft Excel-en egoera-barran