string中的正确函数(Excel 2007 VBA)

好的:我正在处理Excel中的一个macros'07,它将导入文件,删除数据,进行必要的格式更改,然后用指定的文件名将文件保存到networking驱动器,只需单击一下即可。

一切工作,但最后一部分。 我试图将文件保存为paystatusMMDD.xlsx,其中MMDD是单元格(L2)中的最后4个字符。 但是,我不能,为了我的生活,得到正确的function正常工作。 那么我做错了什么? 我相信这很明显,但我无法弄清楚。

以下是代码的相关部分:

Dim Path As String Dim FileName1 As String Dim FileName2 As String Path = "G:\HRO\PSM\PAYSTATUS\" FileName1 = "paystatus" FileName2 = Right(L2, 4) ActiveWorkbook.SaveAs Filename:=Path & FileName1 & FileName2 & ".xlsx", FileFormat:=xlNormal End Sub 

Per @ simoco评论,您需要更正您引用单元格L2

使用Range("L2")代替L2如下所示:

 FileName2 = Right(Range("L2"), 4) 

既然你可能会从另一个表格中调用这个macros,你应该完全限定L2的位置:(假设单元格在sheet1上)

 FileName2 =Right(Worksheets("Sheet1").Range("L2"), 4) 

根据@Floris评论,你可以缩写[L2] Range("L2")

 FileName2 = Right([L2], 4)