ich möchte ein Makro schreiben, dass ein vorhandenes Excel Workbook unter einem neuen Namen abspeichert. Dieser neue Name setzt sich aus einer Tabelle zusammen die sich in einem Worksheet befindet, das für den Enduser nicht sichbar sein soll. Der Enduser soll in ein Worksheet nur eine 3-stellige Zahl eingeben, die als Referenzwert für die Tabelle gilt. In der Tabelle soll dann die Nummer in einer Spalte gefunden werden und die entsprechende Zeile dann in den Save As Namen überführt werden.
Anbei mein (unvollständiges) Makro:
Sub prcSaveCopyFNC()
Dim i As Long
Dim wsControl As Worksheet
Dim wsTemplate As Worksheet
Dim strSaveFilename As String
Dim strInitialName As String
Set wsControl = Sheets("Rental-Tool")
Set wsTemplate = Sheets("PortfolioMaster")
'PortfolioMaster sichtbar machen
wsTemplate.Visible = xlSheetVisible
'Leerzeichen links und rechts entfernen
For i = 1 To wsTemplate.Rows.Count
Cells(i, 6) = Trim(Cells(i, 6))
Next
'Referenzwert (Asset ID) in PortfolioMaster suchen
For i = 1 To wsTemplate.Rows.Count
If Cells(i, 1) = Cells(i, 6) Then 'diese Zeile für Speichername verwenden
'Neuen Speichernamen vergeben
strInitialName = ThisWorkbook.Path & _
"\" & _
"DM" & "_" & _
Cells(i, 2) & "_" & _
Cells(i, 3) & "_" & _
Cells(i, 4) & "_" & _
Cells(i, 5) & "_" & _
Cells(i, 6) & "_" & _
Cells(i, 7) & "_" & _
Format(Date, "YYMMDD") & _
".xls"
End If
Next
strSaveFilename = Application.GetSaveAsFilename(InitialFileName:=strInitialName, Filefilter:=" _
_
_
Excel-Files,*.xls")
If strSaveFilename "False" And strSaveFilename "Falsch" Then
ThisWorkbook.SaveAs strSaveFilename
End If
'PortfolioMaster wieder unsichtbar machen
wsTemplate.Visible = xlSheetVeryHidden
End Sub
Ich hoffe ich habe das gut genug erklärt...
VG und vielen dank im Voraus! Pia