Excel VBA从包含variables的单元格保存path/名称

我正在使用单元格作为文件path和文件名来保存我的工作簿的副本。

这里是我现在使用的代码,但是它在每个单元格之间放置空格。 请注意只有ActiveSheet.Range单元格将有空白的可能性

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) 

我怎么做到这一点,如果一些用作文件名的单元格是空白的,那么它不会把额外的空间放在文件名

你可能会这样做:

 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"