Hallo zusammen,
ich bins nochmal, der VBA noobie. Ich habe meinen Code jetzt etwas erweitert, es kommen bei mir aber immer mehr Fragen auf.
Nochmal zusammengefasst, ich möchte eine Kopie einer Powerpoint speichern. Dazu möchte ich zuerst aus einer Zelle einer Excel Tabelle die Kalenderwoche(KW) auslesen. Diese soll als Variante KW im Code gespeichert werden, damit ich sie am Ende in den neuen Dateinamen der Powerpoint einbauen kann.
Außerdem habe ich glaub ich den Code nicht richtig sortiert, wisst ihr zufällig, wie ich den code sortieren müsste, damit alles so abläuft wie eben beschrieben?
Ich denke ich habe eindeutig etwas mit den Subs nicht ganz verstanden.
Nebenbei bekomme ich auch Fehlermeldungen wegen dem Range Befehl.
Ich freue ich sehr über Hilfe,
Gruß Olli.
Sub Zelleauslesen()
Dim pfad As String, datei As String, blatt As String, bezug As String, KW As Variant
pfad = "MeinPfadDerExcelTabelle"
datei = "Status Übersichtstabelle.xlsx"
blatt = "copy paste Tabellen"
bezug = "D3"
KW = GetValue(pfad, datei, blatt, bezug)
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
|