Sub openwb()
Dim sb As String
ChDir "E:\sarath\PTMetrics"
Workbooks.Open ("E:\sarath\PTMetrics\D8 L538-L550_16MY_Powertrain Metrics_" & (Format(Date, "YYYYMMDD") - 1) & ".xlsm")
ActiveWorkbook.SaveAs "E:\sarath\PTMetrics\D8 L538-L550_16MY_Powertrain Metrics_" & (Format(Date, "YYYYMMDD") & ".xlsm")
Set x260wb = ActiveWorkbook
Debug.Print x260wb.Name
Workbooks("x260wb").Sheets("All Concerns").Range(A1).Value = "Hay..."
End Sub
这里在第8行,我收到错误说“下标超出范围”。你可以帮忙吗?..
答案 0 :(得分:0)
Spoon最后一次喂你:)
ActiveWorkbook/ActiveSheet/Selection..
等。
INTERESTING READ "
中包含变量名,则它们将成为字符串,反之亦然,即如果字符串是一个单词。Format(Date, "YYYYMMDD") - 1
中减去1。 Format
会返回String
。请参阅下面代码中提供的替代方案。Save As
时,您必须指定FileFormat
,例如,xlsm的文件格式为53以下是其他文件格式。文件格式
50 = xlExcel12 (Excel Binary Workbook in 2007-2013 with or without macro's, xlsb)
51 = xlOpenXMLWorkbook (without macro's in 2007-2013, xlsx)
52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2013, xlsm)
56 = xlExcel8 (97-2003 format in Excel 2007-2013, xls)
您的代码(未测试)
Sub openwb()
Dim wb As Workbook
Dim sPath As String, sFilename As String, newName As String
sPath = "E:\sarath\PTMetrics\"
sFilename = sPath & _
"D8 L538-L550_16MY_Powertrain Metrics_" & _
Format(Date - 1, "YYYYMMDD") & _
".xlsm"
Set wb = Workbooks.Open(sFilename)
newName = sPath & _
"D8 L538-L550_16MY_Powertrain Metrics_" & _
Format(Date, "YYYYMMDD") & _
".xlsm"
wb.SaveAs newName, FileFormat:=53
wb.Sheets("All Concerns").Range("A1").Value = "Hay..."
End Sub