Office: (Office 2007) aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren

Helfe beim Thema aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte eine aktive Excel-Datenblatt per VBA-Makro nach Outlook kopieren (Nachricht) und als Anhang versenden. Kann mir jemand mit dem Makro... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Joao, 10. Juni 2015.

  1. aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren


    Hallo,
    ich möchte eine aktive Excel-Datenblatt per VBA-Makro nach Outlook kopieren (Nachricht) und als Anhang versenden.

    Kann mir jemand mit dem Makro helfen?


    @ mumpel Danke


    Dank „mumpel“ habe jetzt folgenden Code, siehe unten:

    3 Fragen habe ich aber noch.
    Geht das zu machen?

    Code:
    Sub eMail_Versenden()
    Dim OlApp As Object
    Dim AWS As String
    Dim olOldbody As String
    ActiveWorkbook.ActiveSheet.Copy
    ActiveWorkbook.SaveAs "C:\windows\temp\anhang.xls"
    Application.DisplayAlerts = True
    AWS = ActiveWorkbook.FullName
    Set OlApp = CreateObject("Outlook.Application")
    With OlApp.CreateItem(0)
    .GetInspector.Display
    .ReadReceiptRequested = True
    .Sensitivity = 3
    .Importance = 2
    olOldbody = .HTMLBody
    .To = "testserver.de"
    .CC = "empfänger@"
    .BCC = "empfänger5@"
    .Subject = "Test"
    .HTMLBody = "Hallo! Anbei gewünschte Informationen.
    " & _ RangetoHTML(Range("B5:G10")) & _ olOldbody
    .Attachments.Add AWS
    End With
    End Sub

    Function RangetoHTML(rng As Range)
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook
    TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
    .Cells(1).PasteSpecial Paste:=8
    .Cells(1).PasteSpecial xlPasteValues, , False, False
    .Cells(1).PasteSpecial xlPasteFormats, , False, False
    .Cells(1).Select
    Application.CutCopyMode = False
    On Error GoTo 0
    End With
    With TempWB.PublishObjects.Add( _
    SourceType:=xlSourceRange, _
    Filename:=TempFile, _
    Sheet:=TempWB.Sheets(1).Name, _
    Source:=TempWB.Sheets(1).UsedRange.Address, _
    HtmlType:=xlHtmlStatic)
    .Publish (True)
    End With
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.readall
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x ublishsource=", _
    "align=left x ublishsource=")
    TempWB.Close savechanges:=False
    Kill TempFile
    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
    End Function


    Danke

    :)
     
  2. Hallo,
    ist es möglich bei diesen Code "RangetoHTML(Range("B20:G30"))" den Bereich automatisch auszulesen? (B20 = Überschriften : Xxx die befühlten Zeilen)

    Wenn nicht, ist es möglich den bereich "G30" aus der Zelle "AK4" zu benutzen?

    Danke
     
  3. Hallo,
    ich nochmal, hat keine eine Lösung? *frown.gif*

    Danke
     
  4. Beverly
    Beverly Erfahrener User

    aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren

    Hi,

    nach diesem Prinzip:

    Code:
    aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren grusz.gif
     
    Beverly, 18. Juni 2015
    #4
  5. OfficeUser Neuer User
    Hallo Beverly,

    leider Funktioniert es nicht.

    Die Tabelle Vorlage:
    Auftrag_offen

     ABCDGH
    6 <> was du willst    
    7IDAuftrag_EingKundeAuftragNrBearbeiterTest
    85715.10.2014wsx88qweTest
    96630.04.2015rfv103asdTest
    106704.05.2015tgb216yxcTest
    116905.05.2015zhn278rtzTest
    127006.05.2015ujm444dfgTest
    137107.05.2015ik,448cvbTest
    147309.05.2015esy656ghjTest
    157510.05.2015rdx695bnmTest
    167811.05.2015tfc806jklTest
    177912.05.2015zgv836iopTest
    188022.05.2015uhb888rfvTest
    198304.06.2015ikm992zhnTest
    Excel Tabellen im Web darstellen >>
     
    OfficeUser, 18. Juni 2015
    #5
  6. Ist es auch möglich das die Copy nach Outlook die Formatierung behält?

    Danke
     
  7. Beverly
    Beverly Erfahrener User
    Du hast angegeben, dass der Bereich Range("B20:G30") dynamisch in Abhängigkeit von der Anzahl gefüllter Zeilen kopiert werden soll - genau das macht der Code auch. Wenn es eine andere Startzeile sein soll, musst du das selbstverständlich anpassen. Der komplette erste Teil des Codes sieht bei mir so aus:

    Code:
     
    Beverly, 18. Juni 2015
    #7
  8. aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren

    Hallo,

    erstmal Danke.

    Makro 1 Funktioniert (Anfang bei 20 und 7 Spalten)

    Doch Tabelle dich ich versenden muss hat unterschiedliche Spalten.
    Die ersten 3 (A-C) sind immer vorhanden, ab der 4 (D-AI) sind Dynamische, nur die die gebraucht werden, sind sichtbar, die die nicht gebraucht werden, werden Ausgeblendet.

    Per email möchte ich immer nur die sichtbaren übertragen.

    Bsp:
    Makro 2 : Sichtbare Spalten A-G, W-Z
    Makro 3 : Sichtbare Spalten A-C, H-I, M,O
    Makro 4 : Sichtbare Spalten A-D
    Makro 5 : Sichtbare Spalten A-F

    Deswegen die Frage ob der Bereich Dynamisch gemacht weden kann?
     
  9. Beverly
    Beverly Erfahrener User
    Hi,

    ich nehme an du meinst nicht Makro2 bis Makro5 sondern die Makrodurchläufe?
    Ergänze diesen Codeteil:

    Code:
    Damit werden nur die von A bis Z sichtbaren Spalten übertragen.


    aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren grusz.gif
     
    Beverly, 22. Juni 2015
    #9
  10. Hallo,

    doch ich meine die verschiedenen Makros die ich haben (zur Übersicht meine 12 Makros).

    Die Zeile "Set rngBereich..." funktioniert jetzt wie ich es brauche, DANKE.


    Ein Probleme/Frage habe ich aber noch.
    Beim Kopieren ins Outlook gehen die "Bedingte Formatierungen" der Betroffenen Zellen verloren.

    Kann man dies auch mit Kopieren/übernehmen?

    Danke
     
  11. Anbei die Bilder zum verdeutlichen.
     
  12. Beverly
    Beverly Erfahrener User
    Weshalb brauchst du 12 mal dasselbe Makro, nur weil sich die Spalten unterscheiden, die nach Outlook kopiert werden sollen? Mit der Zeile Set rngBereich = .... werden doch nur die jeweils sichtbaren übertragen, gleichgültig welche eingeblendet sind.

    Ich kenne deine bedingte Formatierung nicht, aber dass sie nicht übertragen wird hängt sicherlich damit zusammen, welche Bedingungen du verwendest - beziehst du dich dabei nämlich auf Zellen in den Zeilen < 20 oder Spalten > Spalte Z, dann fehlen diese Bezugswerte in dem Template, da nur die Zeilen 20 bis xxx und Spalten A bis Z kopiert werden und die bedingte Formatierung greift dann nicht mehr.


    aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren grusz.gif
     
    Beverly, 22. Juni 2015
    #12
  13. OfficeUser Neuer User

    aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren

    Zu den Makros : Jeder Makro sortiert je nach fehlerhafte Eintrag in der Datei. Es ist nicht nur wegen den Spalten.

    Zu den bedingte Formatierung, hier 2 Bsp zur verständigung:
    Bsp. 1:
    Bsp. 2:
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    OfficeUser, 22. Juni 2015
    #13
  14. Lad die Datei hoch, mit Bildern kann ich wenig anfangen.
     
  15. Beverly
    Beverly Erfahrener User
    Du beziehst dich bei diesen Bedingungen auf keine Zellen außerhalb des zu kopierenden Bereichs - verwendest du nur diese oder noch weitere? Falls nicht, dann liegt es wohl doch an Excel2007, dass die Bedingungen nicht übertragen werden, denn wie schon geschrieben - bei mir (Excel2013) fuktionieren solche bedingten Formatierungen, die sich nicht auf Zellen außerhalb des zu kopierenden Bereichs beziehen, völlig problemlos.

    Das einzige was mir noch einfällt wäre, dass du in der Prozedur Sub eMail_Versenden() die Zeile

    Code:
    direkt vor End With ziehst - möglicherweise hat das Einfluss.


    aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren grusz.gif
     
    Beverly, 22. Juni 2015
    #15
Thema:

aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren

Die Seite wird geladen...
  1. aktives Excel-Datenblatt per VBA-Makro nach Outlook kopieren - Similar Threads - aktives Excel Datenblatt

  2. Zugriff auf andere Excel Datei ohne aktives Öffnen

    in Microsoft Excel Hilfe
    Zugriff auf andere Excel Datei ohne aktives Öffnen: Liebe Community, ich habe mir eine Formel geschrieben um Werte aus einer anderen Excel Datei in meine Haupt Excel Datei einzufügen. Leider muss die Datei aus der ich die Daten haben will immer...
  3. Im Endlosformular aktiven Datensatz hervorheben

    in Microsoft Access Hilfe
    Im Endlosformular aktiven Datensatz hervorheben: Hallo liebe Mitglieder. Eigentlich benötige ich was ganz einfaches... Ich lasse mir meine Datensätze (Filme) in einem Endlosformular anzeigen. Jeder Datensatz hat diverse Buttons. Klicke ich auf...
  4. Nur ein aktives Optionsfeld

    in Microsoft Word Hilfe
    Nur ein aktives Optionsfeld: Hallo liebe Word-Gemeinde. Ich bin auf der Suche nach einer Lösung, komme aber nicht dahinter. Ich benötige Optionsfelder, in der es nur eine Wahlmöglichkeit gibt. Beispiel: Ich möchte einen...
  5. Pivot Table Felder - Alle und Aktiv nicht angezeigt

    in Microsoft Excel Hilfe
    Pivot Table Felder - Alle und Aktiv nicht angezeigt: Guten Tag, ich versuche eine Pivot Tabelle mit Daten aus mehreren Tabellen zu machen. Ich habe ein Datenblatt mit sechs Tabellen und ein Datenblatt mit zwei Tabellen, welche ich alle in einer...
  6. Excel VBA CommentIndicator Farbe ändern, Code Umbau auf Aktive Zelle

    in Microsoft Excel Hilfe
    Excel VBA CommentIndicator Farbe ändern, Code Umbau auf Aktive Zelle: Hi Zusammen man kann ja den CommentIndicator leider nicht auf normalem Weg ändern (Rote Dreieck rechts in Ecke was einem anzeigt hier ist ein Kommentar in Zelle) nun hab ich folgendes Makro was...
  7. Excel 2003: Aktive Zeile farblich hinterlegen

    in Microsoft Excel Hilfe
    Excel 2003: Aktive Zeile farblich hinterlegen: Hallo, ich schon wieder. Ich sitze nach wie vor an ziemlich großen und unübersichtlichen Excel-Tabellen, weswegen ich nach einer Möglichkeit suche, die jeweils aktive Zeile komplett farblich zu...
  8. aktiver Formeltext - Excel 2003 - english version

    in Microsoft Excel Hilfe
    aktiver Formeltext - Excel 2003 - english version: Hallo liebe Foren-User, ich erstelle jede Woche Auswertung mit Excel, die eine Vielzahl von S-Verweisen (VLOOKUP's) in jeweils eine andere Excel-Datei enthalten. Nun meine Frage: Kann ich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden