Excel VBA从包含变量的单元格中保存路径/名称

时间:2017-01-16 18:28:26

标签: excel vba excel-vba

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

这是现在使用的代码,但它在每个单元格之间放置了空格。 请注意,只有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)

如果一些用作文件名的单元格为空,那么我怎么能这样做呢?它不会在文件名中加上额外的空格

1 个答案:

答案 0 :(得分:2)

你可能会这样:

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"