Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Tabellenblatt kopieren und per Mail versenden

Tabellenblatt kopieren und per Mail versenden
11.08.2004 17:17:32
Micha
Hallo Leute!
Bitte lachte nicht, aber ich will per VBA ein Tabellenblatt (das aktuelle) in eine neue Tabelle kopieren. Dann soll die Tabelle in ein bestimmtes Verzeichnis gespeichert werden. (z.B. E:\Eigene Dateien). Und jetzt die zwei Herausforderungden: Der Dateiname soll aus dem Namen des Tabellenblattes bestehen und einem Wort aus einer bestimmten Zelle von einem anderen Blatt.
Dann wäre es noch richtig geil, wenn die erzeugte Tabelle geschlossen wird und per Mail an eine feste Adresse geschickt wird...
Geht das? Kann mir da jemand helfen?
Vielen Dank schon einmal...
Micha
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt kopieren und per Mail versenden
Boris
Hi Micha,
Option Explicit

Sub test()
Dim str As String
str = Sheets("Anderes Blatt").[a1]
ActiveSheet.Copy
ActiveWorkbook.SaveAs "E:\Eigene Dateien\" & ActiveSheet.Name & str & ".xls"
End Sub

Dann per Mail versenden - dazu findest du bestimmt in der Recherche ausreichend Beispiele.
Grüße Boris
Anzeige
Danke
11.08.2004 17:47:23
Micha
.
AW: Tabellenblatt kopieren und per Mail versenden
Ramses
Hallo
probier mal, sollte tun.

Sub Excel_Sheet_via_Outlook_Senden()
Dim Nachricht As Object, OutApp As Object
Dim SavePath As String
Dim AWS As String
SavePath = "d:" '"E:\Eigene Dateien"
Set OutApp = CreateObject("Outlook.Application")
'Kopiert aktuelles Sheet in eine neue Mappe
'welche nur diese Tabelle enthält
ActiveSheet.Copy
'Speichert die Datei unter dem Tabellennamen und dem Namen in A1
ActiveWorkbook.SaveAs SavePath & "\" & ActiveSheet.Name & " " & ActiveSheet.Range("A1")
'Aktive Arbeitsmappe wird als mail gesendet
AWS = ActiveWorkbook.FullName
'InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "irgendwer@Irgenwo.de"
.Subject = "Testmeldung von Excel2000 " & Date & Time
.Attachments.Add AWS
'Hier wird eine normale Text Mail erstellt
'.body = "Das ist ein Test" & vbCrLf & "Bitte ignorieren"
'Hier wird die HTML Mail erstellt
.HTMLBody = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
'Mail.Send
'Hier könnte die Datei wieder gelöscht werden
'Kill AWS
End With
OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

Gruss Rainer
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt kopieren und per Mail versenden


Schritt-für-Schritt-Anleitung

Um ein einzelnes Tabellenblatt aus Excel zu versenden, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" klickst und "Einfügen" > "Modul" wählst.
  3. Kopiere den folgenden VBA-Code in das Modul:
Sub Excel_Sheet_via_Outlook_Senden()
    Dim Nachricht As Object, OutApp As Object
    Dim SavePath As String
    Dim AWS As String
    SavePath = "E:\Eigene Dateien" 'oder dein gewünschter Pfad
    Set OutApp = CreateObject("Outlook.Application")

    ' Kopiert aktuelles Sheet in eine neue Mappe
    ActiveSheet.Copy

    ' Speichert die Datei unter dem Tabellennamen und dem Namen in A1
    ActiveWorkbook.SaveAs SavePath & "\" & ActiveSheet.Name & " " & ActiveSheet.Range("A1").Value & ".xls"

    ' Aktive Arbeitsmappe wird als Mail gesendet
    AWS = ActiveWorkbook.FullName
    Set Nachricht = OutApp.CreateItem(0)

    With Nachricht
        .To = "deine-email@beispiel.de"
        .Subject = "Versand von Excel: " & ActiveSheet.Name
        .Attachments.Add AWS
        .HTMLBody = "Das angehängte Tabellenblatt wurde versendet."
        .Display ' oder .Send, um direkt zu senden
    End With

    OutApp.Quit
    Set OutApp = Nothing
    Set Nachricht = Nothing
End Sub
  1. Passe die E-Mail-Adresse und den Speicherort nach Deinen Wünschen an.
  2. Schließe den VBA-Editor und führe das Makro aus, um das einzelne Tabellenblatt per Mail zu versenden.

Häufige Fehler und Lösungen

  • Fehler: Outlook öffnet sich nicht.

    • Stelle sicher, dass Outlook korrekt installiert ist und als Standard-E-Mail-Programm festgelegt wurde.
  • Fehler: Datei wird nicht gespeichert.

    • Überprüfe, ob der Pfad richtig angegeben ist und ob Du die entsprechenden Berechtigungen zum Speichern in diesem Verzeichnis hast.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du auch einfach das einzelne Blatt aus Excel manuell kopieren und in eine neue Excel-Datei einfügen. Dann speichere die Datei und versende sie per E-Mail.

  1. Klicke mit der rechten Maustaste auf das Tabellenblatt und wähle "Verschieben oder Kopieren".
  2. Erstelle eine neue Arbeitsmappe und kopiere das Tabellenblatt dorthin.
  3. Speichere die neue Datei und füge sie als Anhang in Deine E-Mail ein.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du ein einzelnes Excel Blatt versenden kannst:

  • Beispiel 1: Du möchtest monatliche Verkaufszahlen an Deinen Vorgesetzten senden. Verwende den oben genannten VBA-Code, um die Verkaufszahlen als einzelnes Tabellenblatt zu versenden.

  • Beispiel 2: Du hast ein wichtiges Protokoll, das Du an das Team weiterleiten möchtest. Kopiere das Protokoll in eine neue Datei und sende es über Outlook.


Tipps für Profis

  • Automatisierung: Du kannst das Makro so anpassen, dass es automatisch zu festgelegten Zeiten ausgeführt wird, um regelmäßig Berichte zu versenden.
  • E-Mail-Adressen verwalten: Verwende die Funktion E-Mail Adressen aus Excel in Outlook kopieren, um mehrere Empfänger in Deinem Makro zu integrieren.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in Deinem VBA-Code, um Probleme beim Versenden der E-Mail zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich eine Excel Tabelle per Mail versenden?
Nutze das obige Makro, um das einzelne Tabellenblatt zu kopieren und per E-Mail zu versenden.

2. Kann ich mehrere Tabellenblätter gleichzeitig versenden?
Das obige Makro ist für ein einzelnes Tabellenblatt gedacht. Du müsstest den Code anpassen, um mehrere Blätter zu kopieren und zusammen zu versenden.

3. Funktioniert das auch auf einem Mac?
Ja, die VBA-Funktionen sind auch auf einem Mac verfügbar, jedoch kann der Code für den E-Mail-Versand leicht variieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige