Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Versand Tabellenblatt ohne Formel OHNE VBA

Versand Tabellenblatt ohne Formel OHNE VBA
Stef@n
Hallo
auf Basis der Antworten des Threads
https://www.herber.de/forum/messages/1117576.html
habe ich folgenden Code, der auch einwandfrei funktioniert ! (Mail wird erst versandt, wenn in
der Zelle O10 der Text "VERKAUF" steht.
Nur eine Nachfrage:
Es wird das Blatt kopiert INKL. der enthaltenen VBA-Codes und einer "Webabfrage" :|
Kann man den Code so ändern, dass wirklich NUR die Zell-Werte
kopiert werden und das Mail verschickt wird ?
Es sollen nicht die VBA-Codes und die Webabfrage mit kopiert werden.
Besonders wichtig wäre es, dass die VBA-Codes NICHT enthalten sind.
Hier mein Code
Sub Blatt_senden()
Dim Empfaenger As String
Empfaenger = [L13]
If Range("O10").Value = "VERKAUF" Then
Sheets("Abfrage").Copy
With ActiveSheet
.Cells.Copy
.Cells.PasteSpecial Paste:=xlValues
End With
ActiveWorkbook.SendMail "xx@yyy.de", "erreicht > VERKAUFEN"
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End If
End Sub

Besten Gruss Stefan
AW: Versand Tabellenblatt ohne Formel OHNE VBA
16.11.2009 15:07:38
JogyB
Hi.
' Entfernt den Code aus der Arbeitsmappe
Sub entFerneCode(ByRef myWbk As Workbook)
Dim codeObject As Object
For Each codeObject In myWbk.VBProject.VBComponents
With codeObject
' Alle Module (Type 1), Forms (Code 2) und Klassenmodule (Code 3) löschen
If .Type >= 1 And .Type 
Das entfernt Dir den Code aus der Arbeitsmappe. Aufruf wäre in Deinem Fall
entferneCode(ActiveWorkbook)
Gruss, Jogy
@Jogy : Hat einen grossen Nachteil...
16.11.2009 15:10:13
NoNet
Hallo Jogy,
an diese Variante dachte ich auch zunächst, habe sie aber gleich wieder verworfen, da dazu der programmatische Zugriff auf das VB-Projekt erlaubt sein muss - und das ist in vielen Firmen per Policy untersagt :-(
Gruß, NoNet
Anzeige
AW: @Jogy : Hat einen grossen Nachteil...
16.11.2009 15:15:15
JogyB
Hi.
Stimmt den Haken muss man unter den Makro-Sicherheitseinstellungen noch setzen. Und wenn eine Policy das einschränkt, dann ist es natürlich mit der Variante vorbei.
Gruss, Jogy
AW: Versand Tabellenblatt ohne Formel OHNE VBA
16.11.2009 15:29:22
Stef@n
Hallo
dann löscht er mir doch aber die Codes in der Original-Datei !?
Es sollen aber nur die Codes in der zu versendenden Datei gelöscht werden.
Oder muss ich den Aufruf entferneCode(ActiveWorkbook)
in meinem Code "dazwischen-basteln" ?
Gruss Stefan
AW: Versand Tabellenblatt ohne Formel OHNE VBA
16.11.2009 15:44:58
JogyB
Hi.
Sobald Du das Arbeitsblatt kopiert hast, ist das ActiveWorkbook die neu erstellt Arbeitsmappe. Hätte ich genauer schreiben sollen.
Gruss, Jogy
Anzeige
AW: Versand Tabellenblatt ohne Formel OHNE VBA
16.11.2009 15:50:34
Stef@n
Hallo Jogy
ich hatte es falsch aufgerufen :O
Jetzt funktioniert dein Code einwandfrei ! :) Danke !
Bei uns ist der VBA-Zugriff (noch) erlaubt - insofern kann ich deinen Code nutzen.
Und falls sie ihn mal sperren sollten - wir haben jetzt ja noch eine andere Lösung *g
Schönen Tag noch
Stefan
Tabellenblatt ohne Formel+VBA per Mail versenden
16.11.2009 15:08:04
NoNet
Hallo Stefan,
probiere doch mal folgenden Code :
VBA-Code:
Sub Blatt_senden2()
    Dim Empfaenger As String
    Dim wsQuelle As Worksheet, wsTemp As Worksheet
    Empfaenger = [L13]
    If Range("O10").Value = "VERKAUF" Then
        Set wsQuelle = Sheets("Abfrage")
        Workbooks.Add
        Application.DisplayAlerts = False
        'Überflüssige Blätter der neuen Mappe löschen :
        If Sheets.Count > 1 Then
            For Each wsTemp In Sheets
                If wsTemp.Index > 1 Then wsTemp.Delete
            Next
        End If
        wsQuelle.Cells.Copy
        ActiveSheet.Name = wsQuelle.Name
        With ActiveSheet.Cells
            .PasteSpecial Paste:=xlValues   'Werte einfügen
            .PasteSpecial Paste:=xlFormats  'Formate einfügen
        End With
        ActiveWorkbook.SendMail Empfaenger, "erreicht > VERKAUFEN"
        ActiveWindow.Close
        Application.DisplayAlerts = True
    End If
End Sub
Gruß, NoNet
Bingo ! Thx an Nonet und JogyB
Stef@n

Das ist es !
Dank Dir sehr Nonet
und auch JogyB
für die superschnelle Hilfe
Besten Gruß
Stefan
Anzeige
Bingo ! Thx an Nonet und JogyB
16.11.2009 15:37:00
Stef@n
Das ist es !
Dank Dir sehr Nonet
und auch JogyB
für die superschnelle Hilfe
Besten Gruß
Stefan

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige