显示上次导入的星期
我有一个从每周文件导入的Excel文件 。 我可以在input框中指定要导入的星期数 。 从这个数字,我构造了特定星期的文件path和名称,然后导入它。
在D1单元格中,我想显示上一次导入的那一周 ,所以如果我上一次导入了第12周,单元格D1应该显示“12”,如果稍后从一个较旧的星期导入文件,如4,单元格D1应该显示“4 “
在excel文件中,将被导入的源文件将通过vba代码,它在源文件中没有任何types的表,所以我需要在我的代码中实现这个以便在单元格D1中显示一周,这是import。
我尝试实现这个我的代码Range("D1").Value = WeekVal
为了尝试填充特定的单元格与导入的星期数。
我在网上search,但我看到的那些不适用于我的代码。 所以我真的不需要一个date, 我只需要来自表示星期的文件名的值 ,如下所示:
“状态496 800周 – > 12 < – 2015.xls”
这个数字是我需要在D1中展示的
我不知道你的文件名是如何被引用的,所以我做了一个函数,这里是一个例程来testing它:
Sub Luis_Montez() Dim TpS As String, _ ReZ As String TpS = "Status 496 800 week 12 2015" ReZ = Get_WeekNb_From_FileName(TpS) MsgBox "_" & ReZ & "_" End Sub
这里是function:
Public Function Get_WeekNb_From_FileName(ByVal FileName As String) As Integer Dim TpStr As String TpStr = Trim(Mid(FileName, InStr(1, LCase(FileName), "week") + 4, 3)) Get_WeekNb_From_FileName = CInt(TpStr) End Function
一个更简单的解决scheme,在重复中,只需使用:
Format(Date, "ww")
您可能正在将您的WeekVal写入另一个工作表的D2单元格中(例如,您刚从本周导入数据的工作簿)。
为避免这种情况,请始终引用任何单元格或范围,方法是明确命名工作簿以及命名的范围或表单名称 。
在你的情况下,我build议select你想要写入的D1单元格。 现在你的配方栏左边你可以看到D1
。 填写WeekVal
。 然后改变你的代码
Thisworkbook.Name("WeekVal").RefersToRange.Value = WeekVal