Hallo,
die Speichern Sub musst du natuerlich noch aufrufen, damit die auch ausgefuehrt wird. Und die Variable KW sollte public sein, damit die auch in unterschiedlichen Subs benutztwerden kann. Koennte man aber auch als Variable uebergeben.
Versuch mal deinen Code mit dem hier zu ersetzen:
Option Explicit
Public KW As Variant
Sub Zelleauslesen()
Dim pfad As String, datei As String, blatt As String, bezug As String
pfad = "MeinPfadDerExcelTabelle"
datei = "Status Übersichtstabelle.xlsx"
blatt = "copy paste Tabellen"
bezug = "D3"
KW = GetValue(pfad, datei, blatt, bezug)
Call DateispeichernmitKW
End Sub
Private Function GetValue(pfad, datei, blatt, bezug)
'von https://www.ms-office-forum.net/forum/showthread.php?t=310983
' Retrieves a value from a closed workbook
Dim arg As String
' Make sure the file exists
If Right(pfad, 1) <> "\" Then pfad = pfad & "\"
If Dir(pfad & datei) = "" Then
GetValue = "File Not Found"
Exit Function
End If
' Create the argument
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & _
Range(bezug).Range("D3").Address(, , xlR1C1)
' Execute an XLM macro
GetValue = ExecuteExcel4Macro(arg)
End Function
Sub DateispeichernmitKW()
Dim pfad2 As String
Dim dateiname As String
pfad2 = "PfadFürDieNeuePPDatei"
dateiname = "speicherversuch"
Application.DisplayAlerts = ppAlertsNone
ActivePresentation.SaveCopyAs Filename:=pfad2 & dateiname & KW & ".pptm", FileFormat:=ppSaveAsOpenXMLPresentationMacroEnabled
Application.DisplayAlerts = ppAlertsAll
End Sub
Gruss Torsten
|