E-mail sešitu aplikace Excel - tipy pro Excel

Obsah

Děkujeme Katherine, která zaslala otázku k tipu na tento týden pro Excel:

Chci umístit tlačítko formuláře na list aplikace Excel, který po kliknutí někomu pošle stejný list aplikace Excel.

Chcete-li poslat celou knihu na adresu [email protected] s konkrétním předmětem, použijte toto makro aplikace Excel.

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

K dispozici je ikona panelu nástrojů, která umožňuje přidat příkazové tlačítko. Chcete-li jej přidat na existující panel nástrojů, postupujte takto:

  • Zobrazit> Panely nástrojů> Přizpůsobit
  • Klikněte na kartu příkazů
  • V poli Kategorie přejděte dolů na Ovládací panely
  • V poli příkazů přejděte dolů na příkazové tlačítko
  • Klikněte na příkazové tlačítko a přetáhněte jej nahoru a umístěte jej na existující panel nástrojů
  • Zavřete dialogové okno Přizpůsobit klepnutím na Zavřít

Nyní, když máte ikonu příkazového tlačítka: Klikněte na ikonu. Tlačítko vytvořte přetažením v listu. Udělejte to tak velké nebo malé, jak chcete. Excel vás požádá, abyste tlačítku přiřadili makro. Vyberte SendIt. Kliknutím a tažením zvýrazněte slovo Tlačítko 1 na tlačítku. Zadejte něco jako „Odeslat tento soubor e-mailem“. Klikněte mimo tlačítko a jste připraveni jít. Pokud budete někdy potřebovat znovu přiřadit makro připojené k tomuto tlačítku, klepněte na něj pravým tlačítkem a vyberte makro přiřazení.

Co když máte velký seznam informací, které chcete distribuovat mnoha uživatelům, ale chcete pouze, aby každý uživatel viděl své vlastní informace? Níže je o něco složitější makro, které to udělá. Vpravo je ukázkový seznam prodejů pro tři regiony.

Před zápisem makra nastavte sešit následujícím způsobem:

  • Zkopírujte datový list kliknutím pravým tlačítkem na kartu dat, výběrem možnosti „přesunout nebo zkopírovat“, zaškrtnout „vytvořit kopii“, OK. Přejmenujte tento nový list na „Zpráva“. List můžete přejmenovat kliknutím pravým tlačítkem na kartu, výběrem možnosti „přejmenovat“ a zadáním zprávy.
  • Na kartě sestavy odstraňte všechny datové řádky. Ponechat pouze nadpisy a tituly.
  • Vložte nový list s těmito sloupci: Region, Příjemce. Na tomto listu zadejte každý název oblasti a uživatele, který by měl zprávu obdržet. Přejmenujte tento list na „Distribuce“.

Tady je makro. Řádky začínající apostrofy (') jsou komentáře, které vám pomohou sledovat postup.

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

Zajímavé články...