Excel宏用于保存单元格值

时间:2014-09-24 18:36:11

标签: excel excel-vba vba

我是所有这些编码内容的新手,并且我正在尝试创建一个曾经使用的宏将保存活动工作表作为在单元格中输入日期的名称" D2"。我正在使用excel 2010.我找到了一些代码,可以将工作表保存到我指定的文件夹中,但还没有任何代码可以将其保存为单元格中的任何内容" D2"。

这是我现在正在使用的代码:

Sub Save_GPR()
   Application.ScreenUpdating = False
   ActiveSheet.Select
   ActiveSheet.Copy
   ThisFile = Range("Q1").Value
   ActiveWorkbook.SaveAs "C:\Users\owner\Desktop\FlightLog", FileFormat:=52
   Application.ScreenUpdating = True
   ActiveWorkbook.Close
End Sub

任何帮助都会非常感激。谢谢!

2 个答案:

答案 0 :(得分:0)

以下编辑适合您。我删除了Activesheet.Select/Copy,因为它是超级的。

Sub Save_GPR()
   Application.ScreenUpdating = False

   'grab the file name from D2, put it in variable ThisFile
   ThisFile = ActiveSheet.Range("D2").Value

   'Save the activeworkbook. Use the filename in ThisFile variable
   ActiveWorkbook.SaveAs "C:\Users\owner\Desktop\" & ThisFile, FileFormat:=52


   Application.ScreenUpdating = True
   ActiveWorkbook.Close
End Sub

答案 1 :(得分:0)

尝试将您的代码更改为以下内容:

Sub Save_GPR()
   Application.ScreenUpdating = False

   'Exit if D2 is empty
   If Activesheet.Range("D2").Value = vbNullString Then Exit Sub

   ThisFile = Activesheet.Range("D2").Value

   ActiveWorkbook.SaveAs "C:\Users\owner\Desktop\" & ThisFile, FileFormat:=52
   Application.ScreenUpdating = True
   ActiveWorkbook.Close
End Sub

我删除了与您描述的任务没有任何关系的代码。我添加了一行代码,如果单元格D2为空,它将取消该过程。