реклама
Не е тайна, че съм пълен фенбой на Excel. Голяма част от това идва от факта, че ми е приятно да пиша VBA код и Excel в комбинация с VBA скриптове отварят цял свят от възможности.
В миналото тук, в MUO, бях споделил няколко неща, които съм правил с Excel и VBA, като експортиране на данни на Excel в Word Как да интегрирате Excel данни в Word документПо време на работната си седмица вероятно много пъти се случва да копирате и вмъквате информация от Excel в Word или обратното. Ето как хората често изготвят писмени доклади ... Прочетете още или изпращане имейли направо от Excel Как да изпращате имейли от електронна таблица в Excel, използвайки VBA скриптовеНашият кодов шаблон ще ви помогне да настроите автоматизирани имейли от Excel с помощта на обекти за данни за сътрудничество (CDO) и VBA скриптове. Прочетете още . Разбира се, ако не сте много кодер, винаги можете да получите приложения на Excel, които някой друг е написал, като тези изброени от Саймън Топ 3 уебсайтове за изтегляне на полезни безплатни програми на Excel Прочетете още .
Ако обаче сериозно се опитвате да използвате Excel за управление на повече от живота си, тогава трябва да отделите време, за да научите как работи кодирането на VBA. За да помогна в това, реших да споделя електронна таблица „Автоматизация“, която създадох, за да управлявам различни области от живота си. Тази електронна таблица има 4 раздела и обхваща всичко - от групирането на връзки на URL адреси, които искам да стартирам наведнъж, до управлението на дълга си и изплащането му по-бързо.
Ако искате да подобрите използването на Excel, аз ви каня да следвате, тъй като споделям няколко от тези дизайни - и прости скриптове -, които използвах за изпълнение на тези задачи.
Управление на вашия живот с Excel
Microsoft Excel не е само електронна таблица с данни. Това всъщност е платформа за дизайн на приложения. Ако погледнете на това по този начин, може да осъзнаете колко много можете да постигнете с приложението.
Вижте листа като дизайнерска дъска, където можете да поставите обекти на формуляра Visual Basic като командни бутони, падащи кутии, текстови полета и изобщо всичко друго. Не само можете да ги поставите навсякъде на листа, но можете да използвате тези обекти за интерактивно (или автоматично) добавяне, премахване или манипулиране на информация на листа.
Мониторинг на вашите уебсайтове
Опитах много различни инструменти за пинг на различните уебсайтове, които управлявам, като например ICMP Ping Manager Наблюдавайте мрежови устройства и уебсайтове с ICMP Ping ManagerКакто на работа, така и у дома, често установявам, че имам нужда да проверявам състоянието на своите компютри, принтери, сървъри или други мрежови устройства. Днес с толкова много устройства се използват ... Прочетете още . Но неотдавна открих начин да пинг уебсайтове отдясно на скрипт на Excel VBA. Това означава, че бих могъл да добавя лист към работната си книга „Автоматизация“, който ще променя всички уебсайтове, които управлявам, и ще поставя резултатите в клетка до името на уебсайта.
Ето как изложих листа.

Числото "4" в клетка B1 се използва за показване на броя на уебсайтовете, които съм инсталирал на листа. Това ще позволи на скрипта да брои само броя на клетките, които действително имат изброени сайтове, стартирани в A3.
Кодът за постигане на това изглежда така:
Dim intSiteCount As Integer. Dim intCount като цяло число. Dim oPing като обект, oRetStatus като обект. Dim sHost като струнен. Dim sPing като низ. Dim intCol като цяло число. Dim intRow As Integer intSiteCount = CInt (Sheet1.Cells (1, 2) .Value) intRow = 3 For intCount = 1 To intSiteCount sPing = "" Sheet1.Cells (intRow, 2) = sPing intRow = intRow + 1. Следващ intRow = 3 За intCount = 1 За intSiteCount sHost = Sheet1.Cells (intRow, 1) Задайте oPing = GetObject ("winmgmts: {impersonationLevel = impersonate}"). ExecQuery _ ("изберете * от Win32_PingStatus, където адрес = '" & sHost & "'") за Всеки oRetStatus В oPing If IsNull (oRetStatus. StatusCode) Или oRetStatus. StatusCode <> 0 След това sPing = "Ping Failed" Else sPing = sHost & "Ping успех на" & Now () & Chr (10) sPing = sPing & "Time (ms) =" & vbTab & oRetStatus. ResponseTime & Chr (10) sPing = sPing & "TTL (s) =" & vbTab & vbTab & oRetStatus. ResponseTimeToLive End If Next Sheet1.Cells (intRow, 2) = sPing intRow = intRow + 1 Next
Първият поглед „За“ в горната част просто преминава през клетките с резултати и изчиства резултатите от последния път, когато пуснах проверка. Вторият цикъл FOR се брои през редовете, изброяващи уебсайтовете, започвайки от третия ред (intRow-3). командата Ping (Задаване на oPing ред) и след това връща резултатите в колона B (Sheet1.Cells (intRow, 2) = Sping).
Ето как изглеждат тези резултати след стартирането на скрипта.

Графата с резултатите показва дали ping е била успешна и подробности за Time / TTL.
Ако не сте запознати с добавянето на командни бутони към лист на Excel, можете да добавите бутона от менюто „Developer“ и да кликнете върху бутона „Insert“ и да изберете бутона от списъка. Начертайте бутона върху листа, щракнете с десния бутон върху него и след това изберете „Присвояване на макрос“.

Въведете името на макроса за този бутон и кликнете върху „Ново“.

Това ще отвори екрана с кодове, където можете да поставите кода отгоре.
Поддържане на библиотека от групи за връзки
В друг раздел също започнах да организирам групата връзки, които използвам за изпълнение на определени задачи. Например, когато пиша за MUO, обичам да отварям редактора на MUO WordPress, google и нашата страница в Google Docs за теми. Когато изследвам теми за най-строгите тайни писатели, обичам да отварям няколко стандартни медийни страници.

Когато щракнете върху бутона „Стартиране на групата“, той ще стартира уеб браузъра по подразбиране и ще отвори всички страници в тази група. Ето как изглежда скриптът за всеки бутон:
Dim intSiteCount As Integer. Dim intCount като цяло число. Dim intCol като цяло число. Dim intRow As Integer intSiteCount = CInt (Sheet2.Cells (4, 3) .Value) intRow = 5 За intCount = 1 За intSiteCount ActiveWorkbook. СледвайтеHyperlink (Sheet2.Cells (intRow, 2)) intRow = intRow + 1. Следващия
Този скрипт е прост, но ефективен. Тайната на тази е функцията „FollowHyperlink“. Този код ще провери броя на връзките, дефинирани в клетката точно вдясно от заглавието на групата и знае, че ще премине през тези много връзки преди заглавието. За всеки бутон местоположението на броя на връзките и използваната колона трябва да бъдат въведени ръчно в кода, но останалата част от кода е идентична за всеки бутон.
Визуализация на вашата галерия с картини
В следващия раздел на моя работен лист за автоматизация е мястото, където отивам, когато искам бързо да премина през всички изображения в папката ми със снимки. Правя това, защото поставям повече от просто изображения в тази папка и искам да видя всички файлове, които имам там.
Ето как изглежда след натискане на бутона „Преглед на снимки“.

В момента ръчно актуализирам този лист, като изтривам всички снимки от колоната B и след това натискам бутона „Преглед на снимки“.
Бутонът изпълнява следния скрипт:
Затъмнете myPict като StdPicture. Dim strFilePath като низ. Dim intRow като цяло число. Dim myPictName като вариант. Dim myCell As Range. Dim sPicture As String. Dim strTest като струнен. Dim myRng As Range. Dim intSkip As Integer intRow = 2 strFilePath = Sheet3.Cells (1, 3) .Value Set myObject = New Scripting. FileSystemObject. Задайте mySource = myObject. GetFolder (strFilePath) на грешка Възобновете се следващо с Sheet3 Задайте myRng = Sheet3.Range ("B2", .Cells (.Rows). Броя, "B"). Край (xlUp)) Завършете с за всеки мой файл в mySource. Files 'If picture is a file If Right (myfile, 4) = ".gif" Или вдясно (myfile, 4) = ".jpg" Или вдясно (myfile, 4) = ".bmp" или вдясно (myfile, 4) = ".tif" Или точно (myfile, 4) = ".png" Тогава Sheet3.Cells (intRow, 1) .Value = "" Sheet3.Cells (intRow, 1) .Value = моятФайл. Име intSkip = 0 За всеки myCell В myRng. Cells Ако intSkip = 1 Тогава с myCell. Отместване ((intRow - 3) + 1, 0) Sheet3.Shapes. AddPicture myfile. Path, msoCTrue, msoCTrue, .Left, .Top, 125, 125 End with End If intSkip = intSkip + 1 Next myCell End If intRow = intRow + 1 Next
Тайната на този скрипт е в използването на обекта StdPicture, който ви позволява да сортирате снимки с наслагване в местоположението на определени клетки, като се определят левите и горните свойства на картината, за да съответстват на тези на клетка. Просто не забравяйте да оразмерите клетките малко по-големи от определените в кода. В моята ситуация използвах 125 височина и ширина за снимките, така че клетките ми са настроени малко по-големи от тези преди време.
Управление на дълга ви
Последният раздел, който искам да споделя, всъщност е този, за който написах известно време за използването на Excel създайте личен бюджет Направете личен бюджет с Microsoft Excel в 4 лесни стъпкиИмате ли толкова дълг, че ще ви отнеме десетилетия, за да се изплати? Направете бюджет и използвайте тези съвети на Excel, за да изплатите дълга си по-скоро. Прочетете още .
Най-важната концепция, за която писах в тази статия, и тази, която принадлежи във всяка статия за използването Excel за управление на вашия живот използва Excel за изчисляване на това как "ефектът на снежната топка" може да ви помогне да платите дълг.
Концепцията е доста проста. Избройте всички дългове на кредитната си карта един до друг в лист, с две колони на дълга - общ баланс и плащане. Изчислението за всяка следваща клетка за плащане е „PrevBalance + (PrevBalance * 0.10 / 12) - последно плащане“

След това можете да плъзнете всички стойности надолу на листа и те ще преизчислят, показвайки колко бързо ще спадне салдото ви, докато извършвате тези плащания. Както можете да видите, извършването на едно плащане на дълг до изплащане на всеки дълг в крайна сметка ще изплати всеки отделен дълг.
Но благодарение на бързата изчислителна мощност на Excel можете да определите кога балансите ще бъдат изплатени, и в този момент вземете минималния баланс за тази карта и я преместете на друга, все още не платена карта изключен. Както показва електронната таблица, всеки следващ баланс се изплаща много по-бързо.

Excel ви позволява бързо да изчислявате и визуализирате как вашите плащания ще се отразят на бъдещите дати на изплащане, а също и на Ви дава график, в който да се оглеждате, докато се опитвате да сте сигурни, че сте прави на път да ги изплатите дългове.
Както можете да видите, Excel е много мощен инструмент, когато става въпрос за управление на всички аспекти на живота ви - независимо дали става въпрос за вашата работа, управление на файлове или ваш бюджет.
Имате ли уникални приложения за Excel за управление на собствения си живот? Споделете някои свои съвети и съвети в секцията за коментари по-долу.
Кредит за изображение: лупа чрез Shutterstock
Райън има бакалавърска степен по електротехника. Работил е 13 години в автоматизацията, 5 години е в ИТ, а сега е инженер на приложения. Бивш управляващ редактор на MakeUseOf, той говори на национални конференции за визуализация на данни и е участвал в националната телевизия и радио.