Kopiatu hautatutako gelaxken batura arbelera

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:

Kopiatu hautatutako gelaxken batura arbelera

Nahi izanez gero, emaitza hauetan eskuineko botoiarekin klik egin eta laster-menuan zein funtzio ikusi nahi ditugun zehatz-mehatz hautatzea ere posible zen:

Kopiatu hautatutako gelaxken batura arbelera

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!

Kopiatu hautatutako gelaxken batura arbelera

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:

Kopiatu hautatutako gelaxken batura arbelera

Ez bakarrik zenbatekoa

Zenbateko hutsalaz gain, beste zerbait nahi baduzu, orduan objektuak eskaintzen dizkigun funtzioetako edozein erabil dezakezu Lan-orriaFuntzioa:

Kopiatu hautatutako gelaxken batura arbelera

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.

Iragazkiak eta ezkutuko errenkada-zutabeak barne

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

Utzi erantzun bat