E-mail so zošitom programu Excel - tipy pre Excel

Obsah

Ďakujeme Katherine, ktorá poslala otázku k tipu na tento týždeň pre Excel:

Chcem umiestniť tlačidlo formulára na pracovný hárok programu Excel, ktorý po kliknutí pošle niekomu ten istý pracovný hárok programu Excel.

Na odoslanie celej knihy na adresu [email protected] s konkrétnym predmetom, by ste použili toto makro programu Excel.

Sub SendIt() Application.Dialogs(xlDialogSendMail).Show arg1:="[email protected]", _ arg2:="This goes in the subject line" End Sub

Na paneli nástrojov je ikona, ktorá umožňuje pridať príkazové tlačidlo. Podľa týchto pokynov ho pridáte na existujúci panel s nástrojmi:

  • Zobraziť> Panely nástrojov> Prispôsobiť
  • Kliknite na kartu príkazov
  • V poli Kategória posuňte zobrazenie nadol na Ovládacie prvky
  • V poli príkazov posuňte zobrazenie nadol na príkazové tlačidlo
  • Kliknite na príkazové tlačidlo a presuňte ho na existujúci panel s nástrojmi
  • Dialógové okno Prispôsobiť zrušíte kliknutím na tlačidlo Zavrieť

Teraz, keď máte ikonu príkazového tlačidla: Kliknite na ikonu. Tlačidlo vytvoríte presunutím v pracovnom hárku. Urobte to také veľké alebo malé, ako chcete. Excel vás požiada o priradenie makra k tlačidlu. Vyberte SendIt. Kliknutím a ťahaním zvýraznite slovo Tlačidlo 1 na tlačidle. Napíšte niečo ako „Pošlite tento súbor e-mailom“. Kliknite mimo tlačidla a ste pripravení. Ak budete niekedy musieť znova priradiť makro pripojené k uvedenému tlačidlu, kliknite pravým tlačidlom myši na toto tlačidlo a vyberte makro priradenia.

Čo ak máte rozsiahly zoznam informácií, ktoré chcete distribuovať viacerým používateľom, ale chcete iba to, aby každý používateľ videl svoje vlastné informácie? Ďalej uvádzame trochu zložitejšie makro, ktoré to urobí. Vpravo je ukážkový zoznam predaja pre tri regióny.

Pred napísaním makra nastavte zošit nasledovne:

  • Skopírujte pracovný hárok s údajmi kliknutím pravým tlačidlom myši na kartu s údajmi, výberom možnosti „presunúť alebo kopírovať“, začiarknuť políčko „vytvoriť kópiu“ a OK. Premenujte tento nový pracovný hárok na „Správa“. Hárok môžete premenovať tak, že kliknete pravým tlačidlom na kartu, vyberiete možnosť „premenovať“ a potom napíšete Správa.
  • Na karte prehľad odstráňte všetky riadky s údajmi. Ponechajte si iba nadpisy a tituly.
  • Vložte nový pracovný hárok s týmito stĺpcami: Región, Príjemca. Na tento pracovný hárok zadajte názov každého regiónu a používateľa, ktorý by mal dostať správu. Premenujte tento pracovný hárok na „Distribúcia“.

Tu je makro. Riadky, ktoré začínajú apostrofmi ('), sú komentáre, ktoré vám majú pomôcť sledovať priebeh.

Public Sub SendItAll() ' Clear out any old data on Report Sheets("Report").Select Range("A1").CurrentRegion.ClearContents ' Sort data by region Sheets("Data").Select Range("A1").CurrentRegion.Select Selection.Sort Key1:=Range("A2"), Header:=xlYes ' Process each record on Distribution Sheets("Distribution").Select FinalRow = Range("A15000").End(xlUp).Row For i = 2 To FinalRow Sheets("Distribution").Select RegionToGet = Range("A" & i).Value Recipient = Range("B" & i).Value ' Clear out any old data on Report Sheets("Report").Select Range("A1").CurrentRegion.ClearContents ' Get records from Data Sheets("Data").Select Range("A1").CurrentRegion.Select ' Turn on AutoFilter, if it is not on If ActiveSheet.AutoFilterMode = False Then Selection.AutoFilter ' Filter the data to just this region Selection.AutoFilter Field:=1, Criteria1:=RegionToGet ' Select only the visible cells and copy to Report Selection.SpecialCells(xlCellTypeVisible).Select Selection.Copy Destination:=Sheets("Report").Range("A1") ' Turn off the Autofilter Selection.AutoFilter ' Copy the Report sheet to a new book and e-mail Sheets("Report").Copy Application.Dialogs(xlDialogSendMail).Show _ arg1:=Recipient, _ arg2:="Report for " & RegionToGet ActiveWorkbook.Close SaveChanges:=False Next i End Sub

Zaujímavé články...