Користите Мацрос у Екцелу на Мац -у да бисте уштедели време и учинили више

Користите Мацрос у Екцелу на Мац -у да бисте уштедели време и учинили више

Екцел на Мац -у није увек био исти моћни систем на Виндовс -у. Макрои заиста не би радили ако нису створени искључиво за Мац.





Од 2013. године Мицрософт је вратио макрое. Постоје две врсте макроа: они које можете да креирате брзим снимањем својих радњи и они који користе ВБА за дизајнирање напреднијих аутоматизација. Уз Оффице 2016, Екцел користи иста база кодова на свим платформама . Ова промена ће олакшати рад макроа на различитим платформама.





Па хајде да погледамо како ово тренутно функционише на мацОС -у.



научите математику од основних до напредних

Омогућавање макронаредби у програму Екцел на Мацу

Рад са макроима у програму Екцел на вашем Мац рачунару можда није подразумевано омогућен. Ово подешавање је зато што макрои могу бити могући вектор злонамерног софтвера. Најлакши начин да то кажете је да видите да ли имате Девелопер картица доступна на врпци у Екцелу. Ако га не видите, једноставно га је омогућити.

Кликните на Екцел у траци менија, а затим изаберите Преференцес у падајућем менију. У менију кликните на Трака и трака са алаткама . На десној листи, Девелопер треба да буде на дну, кликните на поље за потврду. На крају кликните сачувати и требало би да видите картицу Девелопер која се приказује на крају врпце.



Након што креирате сваку радну свеску са макроима, сачувајте је у новом формату .клсм да бисте користили макрое након поновног отварања датотеке. Ако заборавите, Екцел ће вас подсетити сваки пут када покушате да сачувате. Такође ћете морати да омогућите макрое сваки пут када отворите датотеку.

Ручно снимање макроа у Екцелу на Мац -у

Иако можете кодирати макрое , то можда није за свакога. Ако нисте спремни за почетак рада са ВБА, Екцел вам омогућава да снимите кораке за макро у постојећи лист. Кликните на картицу Девелопер да бисте видели своје опције.





Тражите трећу опцију на траци, Снимите макро . Кликните на ово и појавиће се дијалог који вам омогућава да именујете макро и поставите пречицу на тастатури. Макро можете да проширите на Тренутна радна свеска , до Нова радна свеска , или у вашем Персонал Мацро Воркбоок . Персонал Мацро Воркбоок је у вашем корисничком профилу и омогућава вам да користите своје макрое између датотека.

Када снимите своје радње, оне су доступне на истој картици. Кликом на макрое приказаће се сачувани макрои у вашој радној свесци. Кликните на назив макроа и кликните Трцати да бисте покренули снимљене радње.





Пример 1: Укупна дневна продаја и просек по сату

За пример макроа, проћи ћете кроз дневни лист продаје, при чему ће продаја бити подељена по укупним сатима. Макро ће додати укупни дневни промет, а затим додати просек у последњој колони сваког периода по сату. Ако радите на мало или на другом продајном месту, ово је корисна листа за праћење прихода.

Морамо поставити први лист. Коришћење ове прве празнине као предлошка за свакодневно копирање на нову картицу могло би вам уштедети време. У прву колону/ред ставите Сат/Датум. Преко врха додајте од понедељка до петка.

Затим у прву колону ставите рашчлањивање укупних сатова од 8-5. Користио сам 24-часовно време, али можете користити АМ/ПМ нотацију ако желите. Ваш лист треба да се подудара са горњим снимком екрана.

Додајте нову картицу и копирајте шаблон у њу. Затим попуните податке о продаји за тај дан. (Ако немате податке за попуњавање ове табеле, можете ући = РандБетвеен (10.1000) у свим ћелијама за креирање лажних података.) Затим кликните на Девелопер у врпци.

Затим кликните на Снимите макро . У дијалог унесите име као АверагеандСум и оставите га у складишту Ова радна свеска . Можете поставити пречицу ако желите. Можете унети опис ако вам је потребно више детаља о томе шта макро ради. Притисните у реду да бисте започели постављање макроа.

На дну листе по сату унесите Дневни износи . У ћелију поред ње унесите = ЗБИР (Б2: Б10) . Затим копирајте и залепите то у остале колоне. Затим у заглављу додајте Просек после последње колоне. Затим у следећој ћелији надоле унесите = Просек (Б2: Ф2) . Затим залепите то у ћелије у остатку колоне.

Затим кликните Заустави снимање . Макро сада можете да користите на сваком новом листу који додате у радну свеску. Када добијете још један лист података, вратите се на Девелопер и кликните Макрои . Макро треба да буде истакнут, кликните на дугме Покрени да бисте додали своје суме и просеке.

Овај пример вам може уштедети неколико корака, али за сложеније радње које се могу збрајати. Ако радите исте операције на подацима са истим обликовањем, користите снимљене макрое.

ВБА макрои у Екцелу на Мацу

Ручно снимљени макрои у Екцелу помажу са подацима који су увек исте величине и облика. Такође је корисно ако желите да извршите радње на целом листу. Помоћу макроа можете доказати проблем.

Додајте још сат и дан листу и покрените макро. Видећете да макро замењује ваше нове податке. Начин на који то заобилазимо је коришћење кода да макро учинимо динамичнијим помоћу ВБА, што је смањена верзија Висуал Басица . Имплементација се фокусира на аутоматизацију система Оффице.

Није тако лако се преузима као Апплесцрипт , али је аутоматизација система Оффице у потпуности изграђена око Висуал Басица. Тако да када једном радите с њим овде, брзо ћете се моћи окренути и користити у другим Оффице апликацијама. (Такође може бити од велике помоћи ако сте заглављени са Виндовс рачунаром на послу.)

Када радите са ВБА у Екцелу, имате посебан прозор. Горњи снимак екрана је наш снимљени макро како се појављује у уређивачу кода. Режим са прозором може бити од помоћи при игрању са вашим кодом док учите. Када се ваш макро прекине, постоје алати за отклањање грешака који могу да погледају стање ваших променљивих и података листа.

Оффице 2016 сада долази са потпуним уређивачем Висуал Басиц. Омогућава вам да користите Објецт Бровсер и алатке за отклањање грешака које су раније биле ограничене на верзију оперативног система Виндовс. Прегледачу објеката можете приступити тако што ћете отићи на Поглед> Претраживач објеката или само притисните Схифт + Цомманд + Б. . Затим можете прегледати све доступне класе, методе и својства. Било је од велике помоћи у конструисању кода у следећем одељку.

Пример 2: Укупна дневна продаја и просек по сату са кодом

Пре него што почнете са кодирањем макроа, почнимо додавањем дугмета у предложак. Овај корак почетнику знатно олакшава приступ вашем макроу. Они могу притиснути дугме да позову макро уместо да копају по картицама и менијима.

Вратите се на празан лист шаблона који сте креирали у последњем кораку. Кликните на Девелопер да бисте се вратили на картицу. Када сте на картици, кликните на Дугме . Затим кликните негде у листу на шаблону да бисте поставили дугме. Појављује се мени макроа, именујте макро и кликните Нова .

Отвориће се прозор Висуал Басиц; видећете да је наведено као Модул 2 у прегледачу пројекта. Окно кода ће имати Подпросек иСумБуттон () при врху и неколико редова надоле Енд Суб . Ваш код мора да иде између ова два, јер је почетак и крај вашег макронаредбе.

Корак 1: Декларисање променљивих

За почетак ћете морати да декларишете све своје променљиве. Ово се налази у доњем блоку кода, али напомена о томе како су конструисани. Све променљиве треба да декларишете помоћу Ниједан пре имена, а затим као са типом података.

Sub AverageandSumButton()
Dim RowPlaceHolder As Integer
Dim ColumnPlaceHolder As Integer
Dim StringHolder As String
Dim AllCells As Range
Dim TargetCells As Range
Dim AverageTarget As Range
Dim SumTarget As Range

Сада када имате све своје променљиве, морате одмах да користите неке од променљивих опсега. Опсези су објекти који држе делове радног листа као адресе. Променљива Све ћелије ће бити постављене на све активне ћелије на листу, које укључују ознаке колоне и реда. Ово добијате позивом на АцтивеСхеет објекат и онда је УседРанге својство.

Проблем је у томе што не желите да се ознаке уносе у податке о просеку и суми. Уместо тога, користићете подскуп опсега АллЦеллс. Ово ће бити опсег ТаргетЦеллс. Ручно декларишете њен домет. Његова почетна адреса ће бити ћелија у другом реду у другој колони опсега.

Ово називате позивом на свој АллЦеллс распон, користећи свој Ћелије класе да бисте користили ту одређену ћелију (2.2) . Да бисте добили последњу ћелију у опсегу, и даље ћете позвати АллЦеллс . Овај пут користећи СпециалЦеллс начин добијања имовине клЦеллТипеЛастЦелл . Обоје можете видети у доњем блоку кодова.

Set AllCells = ActiveSheet.UsedRange
Set TargetCells = Range(AllCells.Cells(2, 2), AllCells.SpecialCells(xlCellTypeLastCell))

Корак 2: За сваку петљу

Следећа два одељка кода су За сваку петљу. Ове петље пролазе кроз објекат да делују на сваки подскуп тог објекта. У овом случају радите два од њих, по један за сваки ред и један за сваку колону. Пошто су готово потпуно исти, само је један од њих овде; али су оба у кодном блоку. Детаљи су практично идентични.

Пре него што започнете петљу за сваки ред, потребно је да поставите циљну колону у коју петља уписује просек сваког реда. Ви користите ЦолумнПлацеХолдер варијабла за постављање овог циља. Подесили сте га као Цоунт променљива Ћелије класа АллЦеллс . Додајте му један да бисте га преместили десно од података додавањем +1 .

Затим ћете започети петљу помоћу За сваки . Затим желите да креирате променљиву за подскуп, у овом случају, субРов . После Ин , постављамо главни објекат који анализирамо ТаргетЦеллс . Додати .Редови на крају да ограничите петљу само на сваки ред, уместо на сваку ћелију у опсегу.

Унутар петље користите методу АцтивеСхеет.Целлс за постављање одређеног циља на листу. Координате се постављају помоћу субРов.Ров да бисте добили ред у којем се петља тренутно налази. Затим користите ЦолумнПлацеХолдер за другу координату.

Ово користите за сва три корака. Прво што додате .вредност иза заграда и поставити једнако на ВорксхеетФунцтион.Авераге (субРов) . Ово записује формулу за просек реда у вашу циљну ћелију. Следећи ред који додајете .Стиле и постави да је једнако „Валута“ . Овај корак одговара остатку вашег листа. У последњем реду додајете .Фонт.Болд и поставили га на једнако Истина . (Имајте на уму да око овог нема наводника, јер је то логичка вредност.) Ова линија подебљава фонт како би се резиме информација издвојио од остатка листа.

Оба корака су у доњем примеру кода. Друга петља мења редове за колоне и мења формулу у Зброј . Употреба ове методе повезује ваше прорачуне са форматом тренутног листа. У супротном, повезана је са величином у време снимања макроа. Дакле, када радите више дана или сати, функција расте с вашим подацима.

како сачувати видео са јутјуба у камеру
ColumnPlaceHolder = AllCells.Columns.Count + 1
For Each subRow In TargetCells.Rows
ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Value = WorksheetFunction.Average(subRow)
ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Style = 'Currency'
ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Font.Bold = True
Next subRow
RowPlaceHolder = AllCells.Rows.Count + 1
For Each subColumn In TargetCells.Columns
ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Value = WorksheetFunction.Sum(subColumn)
ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Style = 'Currency'
ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Font.Bold = 'True'
Next subColumn

Корак 3: Означите своје резимее

Затим означите нови ред и колону, поставите РовПлацеХолдер и ЦолумнПлацеХолдер опет. Прво, користите АллЦеллс.Ров да бисте добили први ред у опсегу, а затим АллЦеллс.Цолумн+1 да бисте добили последњу колону. Затим ћете користити исти метод као и петља да бисте подесили вредност „Просечна продаја“ . Такође ћете користити исто .Фонт.Болд својство да подебља вашу нову етикету.

Затим га обрните, постављајући чуваре места у прву колону и последњи ред за додавање 'Укупна продаја' . И ово желите да подебљате.

Оба корака су у доњем блоку кода. Ово је крај макроа који је забележио Енд Суб . Сада бисте требали имати читав макро и моћи ћете да притиснете дугме да бисте га покренули. Све ове блокове кодова можете залепити у Екцел листу ако желите да варате, али где је ту забава?

ColumnPlaceHolder = AllCells.Columns.Count + 1
RowPlaceHolder = AllCells.Row
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = 'Average Sales'
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True
ColumnPlaceHolder = AllCells.Column
RowPlaceHolder = AllCells.Rows.Count + 1
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = 'Total Sales'
ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True
End Sub

Шта је следеће за макрое у Екцелу на Мац -у?

Снимљени макрои одлични су за употребу за предвидљиво понављање. Чак и ако је то нешто тако једноставно као што је промена величине свих ћелија и подебљана заглавља, ово вам може уштедети време. Само избегавајте уобичајене макро грешке .

Висуал Басиц отвара врата корисницима Мац Екцела да дубоко укопају Оффице аутоматизацију. Висуал Басиц је традиционално био доступан само у оперативном систему Виндовс. Омогућава вашим макроима да се динамички прилагођавају подацима, чинећи их свестранијим. Ако имате стрпљења, ово може бити улаз у напредније програмирање.

Желите више трикова за прорачунске табеле који штеде време? Научите како аутоматски означити одређене податке условним обликовањем у Екцелу и условним истицањем у Нумберс на Мац -у.

Објави Објави Твеет Емаил 3 начина да проверите да ли је е -пошта права или лажна

Ако сте примили е -поруку која изгледа помало сумњиво, увек је најбоље да проверите њену аутентичност. Ево три начина да утврдите да ли је адреса е -поште права.

Прочитајте следеће
Повезане теме
  • Мац
  • Продуктивност
  • Програмирање
  • Висуал Басиц програмирање
  • Мицрософт Екцел
О аутору Мицхаел МцЦоннелл(44 објављена чланка)

Мицхаел није користио Мац када су били осуђени на пропаст, али може да кодира у Апплесцрипт -у. Дипломирао је рачунарство и енглески језик; већ неко време пише о Мац -у, иОС -у и видео играма; и он је дневни мајмун ИТ више од једне деценије, специјализован за скриптовање и виртуелизацију.

Више од Мицхаела МцЦоннелла

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили