2017-01-16 4 views
0

Ich verwende Zellen als Dateipfad und Dateiname, um eine Kopie meiner Arbeitsmappe zu speichern.Excel VBA Speichern Pfad/Name aus Zellen mit Variablen

Hier ist der Code verwendet jetzt, aber es setzt Leerzeichen zwischen jeder Zelle. Hinweis nur die ActiveSheet.Range Zellen haben die Möglichkeit, von leeren

Dim NewWb As Workbook 
sFile = Control_Sheet_VB.Range("H2") & "\" & ActiveSheet.Range("H8") & " " & ActiveSheet.Range("E10") & " " & ActiveSheet.Range("D14") & " - Ticket #" & Control_Sheet_VB.Range("B2") & Control_Sheet_VB.Range("C2") & ".xlsm" 
Set OldWb = ActiveWorkbook 
OldWb.SaveCopyAs sFile 
Set NewWb = Workbooks.Open(sFile) 

sein Wie kann ich es so machen, wenn einige der Zellen, die als Dateiname leer sind verwendet werden, dann ist es nicht den zusätzlichen Platz setzen Dosis im Dateinamen

+0

Hat um jede Referenz mit zB 'Trim (ActiveSheet.Range (" H8 "))' lösen Sie Ihr Problem? –

Antwort

2

können Sie so gehen:

sFile = Control_Sheet_VB.Range("H2") & "\" & _ 
     IIf(ActiveSheet.Range("H8") <> "", ActiveSheet.Range("H8") & " ", "") & _ 
     IIf(ActiveSheet.Range("E10") <> "", ActiveSheet.Range("E10") & " ", "") & _ 
     IIf(ActiveSheet.Range("D14") <> "", ActiveSheet.Range("D14") & " ", "") & _ 
     " - Ticket #" & Control_Sheet_VB.Range("B2") & _ 
     Control_Sheet_VB.Range("C2") & ".xlsm" 
Verwandte Themen