Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Tabelle (Werte) per Mail schicken
12.10.2007 19:00:00
Sven
Hallo,
ich hoffe ihr könnt mir helfen.
Ich verschicke per Makro ein bestimmtes Tabellenblatt. Funktioniert auch alles. Leider habe ich in ein paar Tabellen Verweise. Dann tritt natürlich ein Fehler beim Empfänger auf. Gibt es die Möglichkeit, dass man die Werte oder so kopiert und nicht die Formeln?
Bitte um HILFE!!!
Danke. Gruß Sven
Folgenden Code habe ich:
Dim strTabelle As String ' Variable für den Tabellennamen
Dim wsTabelle As Worksheet ' Variable für die Tabelle als Objekt
' Tabelle2 als Standard festlegen
strTabelle = "Oktober"
' Name der zu versendenen Tabelle abfragen
strTabelle = InputBox("Welches Arbeitsblatt möchten Sie an Herrn Bauer senden?" & vbCrLf & _
vbCrLf & "Bitte den Mappennamen eingeben (siehe unten)", , strTabelle)
' kein Abbruch der Eingabe
If strTabelle "" Then
' Schleife über alle Arbeitsblätter
For Each wsTabelle In ThisWorkbook.Sheets
' Name der Tabelle entspricht dem der zu versendenen Tabelle
If wsTabelle.Name = strTabelle Then
' Bildschirmaktualisierung aus
Application.ScreenUpdating = False
' Tabelle komplett kopieren
Sheets(strTabelle).Copy
' aktive Arbeitsmappe mit Mailbenachrichtigung "Diese Tabelle wurde als Mail versandt" versenden
ActiveWorkbook.SendMail ThisWorkbook.Worksheets("Email schicken").Cells(22, 5), "Email"
' aktive Arbeitsmappe schließen ohne Speichern
ActiveWorkbook.Close False
' Bildschirmaktualisierung ein
Application.ScreenUpdating = True
' Schleife verlassen
Exit For
Else
' Tabelle mit dem eingegebenen Namen ist nicht vorhanden
If wsTabelle.Name = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name Then MsgBox "Diese Tabelle gibt es nicht"
End If
Next wsTabelle
End If

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle (Werte) per Mail schicken
12.10.2007 19:04:00
Gerd
Hi,
Sheets(strTabelle).Copy
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
mfg Gerd

AW: Tabelle (Werte) per Mail schicken
12.10.2007 19:50:00
Sven
Hallo funktioniert leider nicht. (Keine Werte oder so drin)
Ich will eigentlich alles kopieren außer Formeln (wo Formeln dann den Wert). Also: Optisch soll alles gleich ausschauen.
Noch ne Idee?

AW: Tabelle (Werte) per Mail schicken
12.10.2007 19:54:42
Gerd
Hi,
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
macht genau das, was du willst, nachdem du das Blatt kopiert hast.
mfg Gerd

AW: Tabelle (Werte) per Mail schicken
12.10.2007 20:04:06
Sven
Häh? Als bei mir hat es nicht wirklich funktioniert...
Ich habe es dort eingefügt... Stimmt doch oder?

Sub einzelnes_blatt_senden()
Dim strTabelle As String                ' Variable für den Tabellennamen
Dim wsTabelle As Worksheet              ' Variable für die Tabelle als Objekt
'   Tabelle2 als Standard festlegen
strTabelle = "August"
'   Name der zu versendenen Tabelle abfragen
strTabelle = InputBox("Welches Arbeitsblatt möchten Sie an Herrn Bauer senden?" & vbCrLf &  _
_
vbCrLf & "Bitte den Mappennamen eingeben (siehe unten)", , strTabelle)
'   kein Abbruch der Eingabe
If strTabelle  "" Then
'       Schleife über alle Arbeitsblätter
For Each wsTabelle In ThisWorkbook.Sheets
'           Name der Tabelle entspricht dem der zu versendenen Tabelle
If wsTabelle.Name = strTabelle Then
'               Bildschirmaktualisierung aus
Application.ScreenUpdating = False
'               Tabelle komplett kopieren
Sheets(strTabelle).Copy
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
ActiveWorkbook.SendMail ThisWorkbook.Worksheets("Email schicken").Cells(22, 5),  _
"Email"
'               aktive Arbeitsmappe schließen ohne Speichern
ActiveWorkbook.Close False
'               Bildschirmaktualisierung ein
Application.ScreenUpdating = True
'               Schleife verlassen
Exit For
Else
'               Tabelle mit dem eingegebenen Namen ist nicht vorhanden
If wsTabelle.Name = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Name Then  _
MsgBox "Diese Tabelle gibt es nicht"
End If
Next wsTabelle
End If
End Sub


Anzeige
AW: Tabelle (Werte) per Mail schicken
12.10.2007 20:52:00
Gerd
Hi,
ja, ist richtig so. Das wandelt die Formeln in Werte um.
Was genau geht denn nicht?
mfg Gerd

AW: Tabelle (Werte) per Mail schicken
12.10.2007 21:52:00
sven
Hallo,
also als erstes sagt er es sei geschützt. Wenn ich den Blattschutz wegmache, was ich eigentlich nicht wirklich will. Kopiert er es, wandelt aber nichts um. Es steht trotzdem #Wert! da!
Gibt es noch ne andere Lösung?
Gruß

AW: Tabelle (Werte) per Mail schicken
12.10.2007 22:34:00
Gerd
Hi,
den schutz kann man ja nun mit VBA aufheben, in Werte umwandeln, Schutz wieder setzen.
Lad mal ein Beispiel hoch.
mfg gerd

AW: Tabelle (Werte) per Mail schicken
12.10.2007 22:47:00
sven
Beispielmappe:
https://www.herber.de/bbs/user/46739.xls
Sobald man auf den Button in Tabelle "Email" klickt, wird man aufgefordert den gewünschten Tabellennamen, welcher verschickt werden soll, einzugeben.
Ich will, dass man Woche-Oktober verschicken kann. (In Woche-Oktober sind Verweise auf Oktober vorhanden) deshalb geht es nicht.
Gruß

Anzeige
AW: Tabelle (Werte) per Mail schicken
12.10.2007 23:37:00
Gerd
Hi,
sei nicht sauer, das ist mir zu pubertär, zuviel Spielerchen.
mfg Gerd

AW: Tabelle (Werte) per Mail schicken
13.10.2007 09:37:00
Jens
Hallo Sven
Bei mir funzt das so:
ActiveSheet.Unprotect
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
ActiveSheet.Protect
Gruß aus dem Sauerland
Jens

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige