Nosūtīt Excel darbgrāmatu pa e-pastu - Excel padomi

Satura rādītājs

Paldies Ketrīnai, kura nosūtīja jautājumu par šīs nedēļas Excel padomu:

Es vēlos ievietot veidlapas pogu Excel darblapā, uz kuras noklikšķinot, kāds pats nosūtīs to pašu Excel darblapu.

Lai nosūtītu visu grāmatu uz adresi [email protected] ar noteiktu tēmas rindiņu, izmantojiet šo Excel makro.

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

Ir rīkjoslas ikona, kas ļauj pievienot komandu pogu. Veiciet šīs darbības, lai pievienotu to esošai rīkjoslai:

  • Skats> Rīkjoslas> Pielāgot
  • Noklikšķiniet uz komandu cilnes
  • Lodziņā Kategorija ritiniet uz leju līdz Vadības rīkkaste
  • Komandu lodziņā ritiniet uz leju līdz komandu pogai
  • Noklikšķiniet uz komandas pogas un velciet to uz augšu un nometiet to esošajā rīkjoslā
  • Noraidiet dialoglodziņu Pielāgot, nospiežot Aizvērt

Tagad, kad jums ir komandas pogas ikona: noklikšķiniet uz ikonas. Velciet darblapā, lai izveidotu pogu. Padariet to tik lielu vai mazu, cik vēlaties. Excel lūgs pogai piešķirt makro. Izvēlieties SendIt. Noklikšķiniet un velciet, lai uz pogas iezīmētu vārdu Button 1. Ierakstiet kaut ko līdzīgu "Nosūtīt šo failu pa e-pastu". Noklikšķiniet ārpus pogas, un esat gatavs doties. Ja jums kādreiz ir jāpiešķir šai pogai pievienotais makro, ar peles labo pogu noklikšķiniet uz pogas un izvēlieties piešķirt makro.

Ko darīt, ja jums ir liels informācijas saraksts, kuru vēlaties izplatīt vairākiem lietotājiem, bet vēlaties, lai katrs lietotājs redzētu tikai savu informāciju? Zemāk ir nedaudz sarežģītāks makro, kas to izdarīs. Labajā pusē ir trīs reģionu pārdošanas paraugu saraksts.

Pirms makro rakstīšanas izveidojiet darbgrāmatu šādi:

  • Nokopējiet datu darblapu, ar peles labo pogu noklikšķinot uz cilnes dati, izvēlieties "pārvietot vai kopēt", atzīmējiet izvēles rūtiņu "izveidot kopiju", labi. Pārdēvējiet šo jauno darblapu par "Ziņot". Jūs varat pārdēvēt lapu, ar peles labo pogu noklikšķinot uz cilnes, izvēloties "pārdēvēt" un pēc tam ierakstot Ziņot.
  • Cilnē Pārskats izdzēsiet visas datu rindas. Saglabājiet tikai virsrakstus un nosaukumus.
  • Ievietojiet jaunu darblapu ar šīm kolonnām: Reģions, Saņēmējs. Šajā darblapā ierakstiet katra reģiona nosaukumu un lietotāju, kuram jāsaņem pārskats. Pārdēvējiet šo darblapu par "Izplatīšana".

Šeit ir makro. Rindas, kas sākas ar apostrofiem ('), ir komentāri, kas izstrādāti, lai palīdzētu jums sekot plūsmai.

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

Interesanti raksti...