Tabelle versenden mit Formeln?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Tabelle versenden mit Formeln?
von: Erich M.
Geschrieben am: 01.04.2005 06:41:41
Hallo EXCEL-Freunde,
habe ein Makro mit dem ich aus einer EXCEL-Datei eine einzelne Tabelle versende.
Dabei werden alle hinterlegten Formeln in Werte umgewandelt (falls auf andere
Tabellen oder Dateien zugegriffen wird).
Klappt wunderbar.
Nun suche ich eine Möglichkeit, mit der folgendes erreicht wird:
1. alle Formeln, die sich nur innerhalb der Tabelle bewegen bleiben erhalten.
2. alle Formeln, die auf andere Tabellen oder Dateien zugreifen, werden in Werte umgewandelt.
Geht das?
Hier mein aktueller Code:
Sub BlattKopierenUndVersenden()
'aktives Tabellenblatt als Arbeitsmappe
'im Temporären Ordner speichern, als
'Anlage mit Outlook versenden und anschliesend löschen
Dim strPath As String
Dim strName As String
Dim strFile As String
strPath = "C:\Windows\Temp\" 'Pfad
strName = InputBox("Dateiname eingeben, xls wird automatisch vergeben")
If strName = "" Then Exit Sub
'strName = ActiveSheet.Name 'Tabellenname
strFile = strPath & strName & ".xls"
Application.ScreenUpdating = False
ActiveSheet.Copy
Cells.Select
Selection.Copy
''''''''''hier müsste was geändert werden ????? !!!!!!!!!!!!!!!
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
With ActiveWorkbook
.SaveAs strFile
Senden strFile 'Datei versenden
.Close
End With
Kill strFile 'Datei löschen
Application.ScreenUpdating = True
End Sub

Code eingefügt mit: Excel Code Jeanie
Besten Dank für eine Hilfe!
mfg
Erich
http://www.toolex.de

Bild

Betrifft: AW: Tabelle versenden mit Formeln?
von: Frank Domke
Geschrieben am: 01.04.2005 09:53:39
Hallo Erich,
wenn Du in einzelne Zellen die Formeln erhalten willst, dann musst Du die Zellen auch einzeln abarbeiten! Das geht natürlich mit VBA.
Ob eine Zelle eine Formel enthält erfährst Du zum Beispiel über:
Range("A1").HasFormula
Ob diese Formel einen externen Bezug enthält, erfährst Du über:
InStr(1, Range("A1").Formula, ".xls]", vbTextCompare) > 0
Nun muss Du nur noch die Zellen, die eine Formel enthalten, die wiederum den String ".xls]" enthält, umwandeln.
Viel Erfolg
Frank.
Bild

Betrifft: AW: Tabelle versenden mit Formeln?
von: Panicman
Geschrieben am: 01.04.2005 10:35:39
Hallo Erich,
bau dieses Makro mal in deine Datei ein.
Es sucht alle Zellen mit .XLS und kopiert diese in Werte.

Sub Verknuepfungen_löschen()
On Error GoTo Errorhandler
Do
    Cells.Find(What:=".XLS", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
Loop
Errorhandler:
End Sub

Gruß
Holger
Bild

Betrifft: AW: Tabelle versenden mit Formeln?
von: Erich M.
Geschrieben am: 01.04.2005 11:30:10
Hallo Holger,
besten Dank; genau sowas suche ich.
Jetzt bräuchte ich noch die Lösung für die Formeln, die innerhalb der Datei auf andere Tabellen
zugreifen; meine Versuche waren da leider erfolglos.
Besten Dank!
mfg
Erich
Bild

Betrifft: Korrektur
von: Erich M.
Geschrieben am: 01.04.2005 11:35:59
Hallo Holger,
das funktioniert ja bereits; es werden auch die Bezüge zu Tabellen der gleichen
Datei eliminiert!!
Woran liegt das denn?
Besten Dank!
mfg
Erich
Bild

Betrifft: AW: Tabelle versenden mit Formeln?
von: Panicman
Geschrieben am: 01.04.2005 11:48:35
Hallo Erich,
dein Einwand ist nicht richtig !!!
Da du im Makro erst das Tabellenblatt in eine neue Datei kopierst, sind dannach alle
Bezüge in den Formeln Verknüpfungen in eine andere Datei.
Deshalb sollte es funzen.
Gruß
Holger
Bild

Betrifft: AW: Tabelle versenden mit Formeln?
von: Erich M.
Geschrieben am: 01.04.2005 12:10:56
Danke für die Erklärung!
(siehe auch meine Korrektur weiter oben)
mfg
Erich
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Tabelle versenden mit Formeln?"