如何在VBA中设置一个根据月份而变化的文件路径?

时间:2016-06-03 18:43:48

标签: excel vba excel-vba save

我遇到了问题。目前我有几个vb模块相互协作,执行时会增加一个下拉列表,在下拉列表中保存每个选项的版本,并打印出一个副本。

现在我正在使用此文件路径。

Sub G5()
    'Update 20141112
    Dim Path As String
    Dim filename As String
    Path = "C:\Users\MY.Name\Documents\Testing\" & _
            Range("G5") & "\" 
    filename = Range("G5")
    If ActiveSheet.Range("G5").Value = "" Then End
    If ActiveSheet.Range("G5").Value = "NAMES" Then Exit Sub
    ActiveWorkbook.SaveAs filename:=Path & filename & "-" & Format(Date, "mmddyyyy") & ".xlsm", FileFormat:=52
End Sub

因此,单元格G5包含其凭证的人名(Last,First)。每个名称都经过数据验证,并且与其各个文件夹的名称相同。目前,脚本将保存到其文件夹,但在这些文件夹中有12个子文件夹,每个月一个。有没有办法让我将文件保存到正确的月份文件夹?

Cell I10是唯一按名称提及月份的单元格,但格式为“June Transit Reimbursement”

任何帮助将不胜感激。上面的脚本与另外两个脚本一起运行,虽然它完成了我需要它做的95%,如果我能够超越这个最后的障碍,那么这个过程将是100%自动化的。

我正在尝试阅读Like运营商和期权比较声明,但我很挣扎,在阅读了这么多帖子之后我希望有人可以提供帮助

1 个答案:

答案 0 :(得分:2)

通过从I10获取第一个单词获取月份,然后将其放在文件路径中,假设您的文件夹使用的是I10中显示的相同名称格式。

parts = Split(Range("I10"), " ")
theMonth = parts(0) & " " & parts(1)
Path = "C:\Users\MY.Name\Documents\Testing\" & Range("G5") & "\" & theMonth & "\"

使用Mat的Mugs评论更新为使用单元格中的前2个单词。