如果文件名符合特定条件

时间:2019-01-27 19:00:59

标签: excel vba

我正在尝试编写一段代码,如果文件名包含某个字符串,该代码将执行某个过程。文件名将始终是一个长字符串,因此,我可能需要对文件名进行LookIn查看是否匹配。 这是我到目前为止的内容:

Private Sub GrabTheData()

    If FileName = "*BV*.xl??" Then
        Workbooks(FileName).Sheets("Property").Copy
        Workbooks("Book1.xlsm").Sheets("Sheet2").Paste

    ElseIf FileName = "*BV2*.xl??" Then
        Workbooks(FileName).Sheets("Room Class").Copy
        Workbooks("Book1.xlsm").Sheets("Sheet3").Paste

    End If

End Sub

此代码不能准确识别文件名,而只是跳到下一个。文件名的示例如下:GaniBV.xlsx 我该如何更改代码,以使其与定义的值精确匹配文件名?

1 个答案:

答案 0 :(得分:0)

我相信您可以使用:

Private Sub GrabTheData()

    If FileName Like "*BV*.xl*" Then
        Workbooks(FileName).Sheets("Property").Copy
        Workbooks("Book1.xlsm").Sheets("Sheet2").Paste

    ElseIf FileName Like "*BV2*.xl*" Then
        Workbooks(FileName).Sheets("Room Class").Copy
        Workbooks("Book1.xlsm").Sheets("Sheet3").Paste

    End If

End Sub