在Excel Book中使用多个表单另存单元格值

我正尝试在Excel 2010 VBA中另存为。 Excel文件有8张,我想这就是为什么我无法轻松保存为单元格的原因。 这就像代码无法find“K2”(请参阅​​下面代码失败的注释)。 运行时错误1004。

Sub RecFilter() ActiveSheet.Range("$A$2:$H$159").AutoFilter Field:=7, Criteria1:=Array( _ "(1)", "(112)", "(113)", "(126)", "(14)", "(144)", "(216)", "(3,274)", "(448)", "(468)", _ "(5)", "(65)", "(72)", "(80)", "(900)", "(960)", "106", "14", "2", "2,880", "3,420", "504" _ , "513", "56", "665", "72", "845", "9,814", "900"), Operator:=xlFilterValues Cells.Select Selection.Copy Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Paste ActiveSheet.Columns("A:H").EntireColumn.AutoFit ActiveSheet.Rows("1:2").Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp ActiveSheet.Range("J1").Select ActiveCell.FormulaR1C1 = "Start Date" ActiveSheet.Range("J2").Select ActiveCell.FormulaR1C1 = "End Date" ActiveSheet.Range("K1").Select ActiveCell.FormulaR1C1 = "1/1/2000" ActiveSheet.Range("K2").Select ActiveCell.FormulaR1C1 = "1/7/2000" ActiveSheet.Columns("K:K").Select Selection.NumberFormat = "m/d/yyyy" Application.DisplayAlerts = False Dim Path As String Dim filename As String Path = "C:\Users\TEST\Desktop\" 'THIS IS WHERE IS FAILS filename = ActiveSheet.Range("K2") ActiveWorkbook.SaveAs filename:=Path & filename & ".xlsx", FileFormat:=xlOpenXMLWorkbook End Sub 

您正在尝试将filename = ActiveSheet.Range("K2").Value传递给ActiveWorkbook.SaveAs filename:其中Range("K2").Value包含正斜杠字符不能包含在保存的文件名中。 ActiveSheet.Range("K2").Select ActiveCell.FormulaR1C1 = "1/7/2000"

C:\Users\TEST\Desktop\1/7/2000.xlsx不是有效的文件名。

尝试将Range("K2").Value更改为带有连字符的date数据types。

K2包含对文件名无效的字符。 尝试用别的东西replace\符号。 例如下划线(_)。

你可以在K2中replace它,但这会打破它作为date的用处。

更好的select是只replace文件名。

使用这一行:

 Filename = Replace(ActiveSheet.Range("K2"), "/", "_") 

改成:

 filename = ActiveSheet.Cells(2, 11).Value