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

Versand Tabellenblatt ohne Formel OHNE VBA

Forumthread: 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
Anzeige
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
Anzeige
@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
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
Anzeige
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
Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige