Frage : Excel, das Arbeitsblatt mailt

Hallo können Experten,

Hope jemand mit diesem unterstützen, da ich die meisten zwei Tagen versuchend, dieses Stück des Codes auf das Mailen eines Arbeitsblattes einzustellen verbracht habe, das auf einem gruppierencode basiert. Ich hoffe, dass er eher als völlig geändert worden gezwickt werden kann. Auch das bessere vereinfacht (wenn möglich) wie ich sind, ein newbie.

Data wird eingegeben zum Leistungsblatt. Es gibt einen gruppierencode, der Region genannt wird.

There ist ein Verteilungsblatt, das die folgenden Felder hat: Region und Empfänger. Das Regionfeld vom Leistungsblatt wird manuallly in Spalte A zusammen mit dem Empfängernamen eingegeben. Wenn das Makro „SendItAll“ laufen gelassen wird, kopiert es die Daten vom Leistungsblatt in das Reportblatt, das auf dem gruppierencode in der Verteilerliste basiert und mailt der genannten Empfänger das Arbeitsblatt.

The Ausgaben sind:

, wenn das Arbeitsblatt für das Mailen es hergestellt wird, sieht nicht wie das Reportblatt aus, während es formatierenetc. verliert. Auch das Reportblatt selbst muss jedes Mal umformatiert werden, nachdem das Makro laufen gelassen ist. wie kann ich den Code verbessern, um diese Umformatierung oder verfehlendaten in usw. der Reihen 1 und 2 zu beseitigen?

Secondly, wenn das Arbeitsblatt gemailt wird, wie ich geschrieben in das Stück des Codes eine Standardlinie im Körper der Mitteilung erhalten kann angebend (Name zu der Empfängers) und „bitte finde, die Resultate“ und Respekt, während die Closing ETC…

Sample Akte… Makro anbrachte, wird benannt „Senditall "

Many Dank im Voraus
anbrachte
Attachments:
Probe File

Antwort : Excel, das Arbeitsblatt mailt

Dieses Code-Stückchen benutzt Aussichtgegenstand, um eine Postmitteilung zu verursachen, die in Ihren Entwürfen gespeichert.

Änderung. Zu speichern. Senden, um sie sofort zu senden, aber dieses konnte Ausgaben mit Ihren Sicherheitseinstellungen ansprechen.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
Allgemeines VorSendItAll ()
    
    Schwaches outlookApp
    Schwaches mItem
    Schwaches lRow als lang
    Auf Störungs-Zusammenfassung zunächst
    outlookApp = GetObject ("", „Outlook.Application“ einstellen)
    Wenn Err.Number <> 0 dann
        outlookApp = CreateObject („Outlook.Application“, "") einstellen
    Beenden wenn
    Auf Störung Goto- 0
    Application.ScreenUpdating = Fase
    lRow = Arbeitsblätter („Daten“). Strecke („A65536“). Ende (xlUp). Reihe
    'Frei heraus irgendwelche alten Daten bezüglich des Reports
    Blätter („Report“). Auserwählt
    Strecke („A4: ANZEIGE“ u. lRow) .ClearContents
    'Artdaten durch Region
    'Blätter („Daten“). Auserwählt
    'Strecke („A1“) .CurrentRegion.Select
    'Selection.Sort Key1: =Range („A2“), Überschrift: =xlYes
    'Jede Aufzeichnung auf Verteilung verarbeiten
    Blätter („Verteilung“). Auserwählt
    FinalRow = Strecke („A50“). Ende (xlUp). Reihe
    Für i = 2 zu FinalRow
        Blätter („Verteilung“). Auserwählt
        RegionToGet = Strecke („A“ u. i). Wert
        Empfänger = Strecke („B“ u. i). Wert
        'Frei heraus irgendwelche alten Daten bezüglich des Reports
        Blätter („Report“). Auserwählt
        Strecke („A4: ANZEIGE“ u. lRow) .ClearContents
        'Aufzeichnungen von den Daten erhalten
        Blätter („Daten“). Auserwählt
        Strecke („A1“) .CurrentRegion.Select
        'AutoFilter einschalten, wenn es nicht eingeschaltet ist
        Wenn ActiveSheet.AutoFilterMode = falsches dann Selection.AutoFilter
        'Die Daten zu gerade dieser Region filtern
        Selection.AutoFilter Feld: =1, Criteria1: =RegionToGet
        'Nur die sichtbaren Zellen vorwählen und kopieren, um zu berichten
        Selection.SpecialCells (xlCellTypeVisible). Vorwählen
        Selection.Copy Bestimmungsort: =Sheets („Report“). Strecke („A4“)
        'Das Autofilter abstellen
        Selection.AutoFilter
        'Das Reportblatt zu einem neuen Buch und zu einer eMail kopieren
        Blätter („Report“). Kopie
        ActiveWorkbook.SaveAs „C:\Windows\temp\book123.xls“
        
'        Application.Dialogs (xlDialogSendMail). _ Zeigen
'            arg1: =Recipient, _
'            arg2: = " Report - „u. RegionToGet
        mItem = outlookApp.CreateItem (olMailItem) einstellen
        Mit mItem
            . Zu = Empfänger
            . Thema = „Report -“ u. RegionToGet
            . Körper = „dieses ist Ihr Report“
            . Attachments.Add „C:\Windows\temp\book123.xls“
            . Speichern
        Mit beenden
        ActiveWorkbook.Close SaveChanges: =False
        Tötung „C:\Windows\temp\book123.xls“
        Application.ScreenUpdating = Fase
      
    Zunächst I
Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us