Excelmacros保存

我知道我应该可以在访问或VB中这样做,但我不知道如何使用。 目前,我在表单的末尾有一个提交button,可以保存并closures工作簿,而不pipeinput到某个单元格中。

我正在寻找一种方法来做同样的事情,但将工作表从工作簿中删除。 所以它只保存工作表作为自己的excel文件,并把名字input到某个单元格中。 下面是我目前使用的macros。

Sub Saveworkbook() Application.DisplayAlerts = False Dim dName$, vName$ dName = Range("B8") vName = ActiveWorkbook.FullName ActiveWorkbook.SaveAs "W:\Test\" & dName ActiveWorkbook.SaveAs vName ActiveWorkbook.Close Application.DisplayAlerts = True End Sub 

如果可以添加date和计算机用户来保存名称,但不是必需的,这也会很酷。

在此先感谢山姆

此代码将保存您在当前版本中创build的所有更改,然后将用户名和date(仅在环境variables中信任@Will)将活动工作表保存为新的工作簿。

 Sub Saveworkbook() Application.DisplayAlerts = False Dim Sheet1 As Worksheet Dim dName$, vName$, sName$ dName = Range("B8") vName = ActiveWorkbook.FullName sName = ActiveWorkbook.ActiveSheet.Name For Each Sheet1 In ActiveWorkbook.Sheets If Not Sheet1.Name = sName Then Sheet1.Delete End If Next Sheet1 ActiveWorkbook.SaveAs "W:\Test\" & dName & "_" & Environ("username") & "_" & Format(Now, "ddmmyy") & "xlsx" ActiveWorkbook.Close Application.DisplayAlerts = True End Sub 

像这样的东西 –

 Sub SaveSheet() Dim wbkDashboard As Workbook Dim wsTarget As Worksheet Set wsTarget = Thisworkbook.worksheets("Sheet1") Dim strFileName As String strFileName = wsTarget.Range("B8").Value _ & Format(Now, "ddmmyyyy") & "-" & Environ("username") & ".xlsx" Set wbkDashboard = Workbooks.Add wsTarget .Copy Before:=wbkDashboard.Sheets(1) For intSheetCount = 2 To wbkDashboard.Sheets.Count wbkDashboard.Sheets(2).Delete Next wbkDashboard.SaveAs "W:\Test\" & wsTarget.Range("B8").Value _ & Format(Now, "ddmmyyyy") & "-" & Environ("username") & ".xlsx" wbkDashboard.Close wsTarget.Range("B8").Value= strFileName Set wsTarget = Nothing Set wbkDashboard = Nothing End Sub