
Owen Little
0
2874
390
Není tajemstvím, že jsem naprosto fanoušek Excelu. Hodně z toho plyne ze skutečnosti, že mě baví psaní kódu VBA a Excel v kombinaci s skripty VBA otevírá celý svět možností.
V minulosti jsem zde na MUO sdílel několik věcí, které jsem udělal s Excelem a VBA, jako je export dat Excelu do aplikace Word Jak integrovat data Excelu do dokumentu Word Jak integrovat data Excelu do dokumentu Word Během pracovního týdne se pravděpodobně setkáváte s kopírováním a vkládáním informací z aplikace Excel do aplikace Word nebo naopak. Takto lidé často vytvářejí písemné zprávy… nebo rozesílají e-maily přímo z Excelu Jak posílat e-maily z tabulky Excelu pomocí skriptů VBA Jak posílat e-maily z tabulky Excelu pomocí skriptů VBA Naše šablona kódu vám pomůže nastavit automatické e-maily zevnitř Excel pomocí Collaboration Data Objects (CDO) a skripty VBA. . Samozřejmě, pokud nejste moc kodérem, můžete vždy získat aplikace Excel, které napsal někdo jiný, jako například ty, které uvádí Simon Top 3 Webové stránky ke stažení užitečné bezplatné programy Excel Top 3 webové stránky ke stažení užitečné bezplatné programy Excel .
Pokud však s používáním aplikace Excel ke správě svého života vážně uvažujete, měli byste mít čas zjistit, jak funguje kódování VBA. Abych s tím pomohl, rozhodl jsem se sdílet “Automatizace” tabulku, kterou jsem vytvořil pro správu různých oblastí mého života. Tato tabulka obsahuje 4 karty a pokrývá vše od seskupení odkazů na adresy URL, které chci spustit najednou, až po správu mého dluhu a rychlejší splácení.
Pokud chcete vylepšit používání aplikace Excel, vyzývám vás, abyste postupovali dál, protože sdílím několik z těchto návrhů - a jednoduchých skriptů -, které jsem použil k plnění těchto úkolů.
Správa vašeho života pomocí Excelu
Microsoft Excel není jen datová tabulka. Je to vlastně návrhová platforma pro aplikace. Pokud se na to podíváte tímto způsobem, můžete si uvědomit, jak moc můžete s aplikací dosáhnout.
Podívejte se na list jako konstrukční desku, kde můžete umístit objekty formuláře jazyka Visual Basic, jako jsou příkazová tlačítka, rozevírací pole, textová pole a cokoli jiného. Můžete je nejen umístit kdekoli na listu, ale můžete je také použít k interaktivnímu (nebo automatickému) přidávání, odebírání nebo manipulaci s informacemi na listu.
Sledování vašich webových stránek
Vyzkoušel jsem spoustu různých nástrojů pro ping na různých webech, které spravuji, jako je ICMP Ping Manager Monitor Síťová zařízení a webové stránky s ICMP Ping Manager Monitor Síťová zařízení a webové stránky s ICMP Ping Manager Jak v práci, tak doma, často zjistím, že musím zkontrolovat stav svých počítačů, tiskáren, serverů nebo jiných síťových zařízení. V těchto dnech se tolik zařízení využívá… Ale nedávno jsem objevil způsob, jak pingovat webové stránky přímo uvnitř skriptu Excel VBA. To znamenalo, že bych mohl přidat svůj list “Automatizace” sešit, který by ping na všechny weby, které spravuji, a výsledky umístil do buňky vedle názvu webu.
Takto jsem rozložil list.
Číslo “4” v buňce B1 se používá k zobrazení počtu webů, které jsem nainstaloval na listu. To umožní skriptu počítat pouze prostřednictvím počtu buněk, ve kterých jsou skutečně uvedeny weby, počínaje A3.
Kód k dosažení tohoto vypadá takto:
Dim intSiteCount jako Integer Dim intCount jako Integer Dim oPing As Object, oRetStatus As Object Dim sHost As String Dim sPing As String Dim intCol As Integer Dim intRow As Integer intSiteCount = CInt (Sheet1.Cells (1, 2) .Value) intRow = 3 Pro intCount = 1 Do intSiteCount sPing = "" Sheet1.Cells (intRow, 2) = sPing intRow = intRow + 1 Další intRow = 3 Pro intCount = 1 Do intSiteCount sHost = Sheet1.Cells (intRow, 1) Set oPing = GetObject ( "winmgmts: impersonationLevel = impersonate"). ExecQuery _ ("select * from Win32_PingStatus kde address = '" & sHost & "'") Pro každý oRetStatus v oPing If IsNull (oRetStatus.StatusCode) nebo oRetStatus.StatusCode 0 Pak sPing = "Ping Failed" Else sPing = sHost & "Ping Success on" & 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
První “Pro” podívejte se na vrchol právě prochází výsledky buňky a vymaže výsledky od posledního, kdy jsem provedl kontrolu. Druhá smyčka FOR se počítá prostřednictvím řádků se seznamem webových stránek, počínaje třetím řádkem (intRow-3), provádí příkaz Ping (řádek Set oPing) a poté vrací výsledky do sloupce B (Sheet1.Cells (intRow, 2) ) = sPing).
Zde jsou uvedeny, jak se tyto výsledky starají o spuštění skriptu.
Sloupec výsledků ukazuje, zda byl ping úspěšný, a podrobnosti o čase / TTL.
Pokud nejste obeznámeni s přidáváním příkazových tlačítek do listu aplikace Excel, můžete tlačítko přidat z “Vývojář” a kliknutím na “Vložit” a výběrem tlačítka ze seznamu. Nakreslete tlačítko na list, klikněte na něj pravým tlačítkem a poté vyberte “Přiřadit makro”.
Do tohoto tlačítka zadejte název makra a klikněte na “Nový”.
Tím se otevře obrazovka s kódem, kam můžete vložit kód shora.
Údržba knihovny skupin odkazů
Na další kartě jsem také začal organizovat skupinu odkazů, které používám k provádění určitých úkolů. Například když píšu pro MUO, ráda otevřu editor MUO WordPress, google a naši stránku Dokumentů Google pro témata. Když zkoumám témata Top Secret Writers, ráda otevřu několik standardních mediálních stránek.
Když kliknu na “Spusťte skupinu” , spustí se výchozí webový prohlížeč a otevře se všechny stránky v této skupině. Vypadá to, jak vypadá skript pro každé tlačítko:
Dim intSiteCount As Integer Dim intCount As Integer Dim intCol As Integer Dim intRow As Integer intSiteCount = CInt (Sheet2.Cells (4, 3) .Value) intRow = 5 For intCount = 1 intSiteCount ActiveWorkbook.FollowHyperlink (Sheet2.Cells (intRow, 2)) intRow = intRow + 1 Další
Tento skript je jednoduchý, ale účinný. Tajemství tohoto je “FollowHyperlink” funkce. Tento kód zkontroluje počet odkazů definovaných v buňce přímo napravo od názvu skupiny a ví, že před tímto nadpisem prochází tolik odkazů. U každého tlačítka je třeba do kódu ručně zadat umístění počtu odkazů a použitý sloupec, ale zbytek kódu je pro každé tlačítko stejný..
Náhled vaší galerie obrázků
Na další kartě pracovního listu automatizace je místo, kam chci rychle procházet všechny obrázky ve složce s obrázky. Dělám to proto, že do této složky umístím více než jen obrázky a chci vidět všechny soubory, které tam mám.
Zde je, jak to vypadá po kliknutí na “Náhled Pics” tlačítko.
Právě teď ručně aktualizuji tento list odstraněním všech obrázků ze sloupce B a následným kliknutím na ikonu “Náhled Pics” tlačítko.
Tlačítko spustí následující skript:
Dim myPict As StdPicture Dim strFilePath As String Dim intRow As Integer Dim myPictName As Variant Dim myCell As Range Dim sPicture As String Dim strTest As String Dim myRng As Range Dim intSkip As Integer intRow = 2 strFilePath = Sheet3.Cells (1, 3). Hodnota Set myObject = New Scripting.FileSystemObject Set mySource = myObject.GetFolder (strFilePath) On Error Resume Next With Sheet3 Set myRng = Sheet3.Range ("B2", .Cells (.Rows.Count, "B"). End (xlUp) )) Konec u každého myfile V mySource.Files 'Pokud je obrázek soubor If Right (myfile, 4) = ".gif" Nebo Right (myfile, 4) = ".jpg" Nebo Right (myfile, 4) = " .bmp "Nebo Right (myfile, 4) =" .tif "Nebo Right (myfile, 4) =" .png "Pak Sheet3.Cells (intRow, 1) .Value =" "Sheet3.Cells (intRow, 1). Hodnota = myfile.Name intSkip = 0 za každý myCell v myRng.Cells Pokud intSkip = 1, pak s myCell.Offset ((intRow - 3) + 1, 0) Sheet3.Shapes.AddPicture myfile.Path, msoCTrue, msoCTrue, .Left , .Top, 125, 125 Konec koncem If intSkip = intSkip + 1 Další konec myCell If intRow = intRow + 1 Další
Tajemství tohoto skriptu je pomocí objektu StdPicture, který vám umožňuje určit druh překryvných obrázků v místě určitých buněk tím, že definuje levé a horní vlastnosti obrázku tak, aby odpovídaly vlastnosti buňky. Jen se ujistěte, že velikost buněk je o něco větší, než co definujete v kódu. V mé situaci jsem pro obrázky použil výšku a šířku 125, takže moje buňky jsou nastaveny o něco větší, než byly předem.
Správa dluhu
Závěrečná karta, kterou chci sdílet, je vlastně ta, kterou jsem napsal krátce o používání aplikace Excel k vytvoření osobního rozpočtu. Vytvořte si osobní rozpočet v aplikaci Excel ve 4 jednoduchých krocích. Vytvořte si osobní rozpočet v aplikaci Excel ve 4 jednoduchých krocích. Máte tolik dluh, který bude trvat desetiletí, než se vyplatí? Je čas vytvořit rozpočet a použít několik triků aplikace Excel, které vám pomohou splatit svůj dluh dříve. .
Nejdůležitějším pojmem, o kterém jsem v tomto článku psal, a pojmem, který patří do jakéhokoli článku o používání Excelu pro správu vašeho života, je použití Excelu pro výpočet toho, “efekt sněhové koule” vám může pomoci splatit váš dluh.
Koncept je docela jednoduchý. Seznam všech svých dluhů na kreditní kartě vedle sebe v listu, se dvěma sloupci na dluh - celkový zůstatek a platby. Výpočet pro každou následující platební buňku je “PrevBalance + (PrevBalance * 0,10 / 12) - poslední platba”
Poté můžete přetáhnout všechny hodnoty dolů z listu a přepočítají se, což ukazuje, jak rychle váš zůstatek při provádění těchto plateb klesne. Jak vidíte, provedení jedné platby za dluh, dokud není každý dluh splacen, nakonec vyplatí každý jednotlivý dluh.
Ale díky rychlé výpočetní síle Excelu můžete určit, kdy budou zůstatky vyplaceny, a v tom okamžiku si vezměte minimální zůstatek pro tuto kartu a přesuňte ji na jinou dosud nevyplacenou kartu. Jak ukazuje tabulka, každý následující zůstatek se vyplatí mnohem rychleji.
Excel vám umožňuje rychle vypočítat a vizualizovat, jak vaše platby ovlivní budoucí data výplaty, a také vám poskytne plán, jak se ohlédnout zpět, zatímco vy se snažíte zajistit, že máte pravdu na cestě při vyplácení těchto dluhů.
Jak vidíte, Excel je velmi výkonný nástroj, pokud jde o správu všech aspektů vašeho života - ať už je to vaše práce, správa souborů nebo váš rozpočet.
Máte nějaké jedinečné využití pro Excel k řízení vlastního života? Sdílejte některé své vlastní tipy a rady v sekci komentářů níže.
Image Credit: lupa přes Shutterstock