显示上次导入的星期

我有一个从每周文件导入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