excel 自动另存 以某一单元格的内容命名。

想在EXCEL中新建一个按钮,按下按钮当前sheet就被自动另存到指定的文件夹中(比如F:/files),此文件以当前SHEET中某一单元格的内容命名比如(A1),如果AI中的内容是空的,就跳出窗口提示。保存成功后显示保存成功对话框,并提示是否清楚表格中的内容。

Sub 保存当前工作表()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.DisplayAlerts = False
    Dim ShtName As String, ShtPath As String, ResMsg As VbMsgBoxResult
    If ActiveSheet.Range("a1").Value = "" Then MsgBox "当前工作表A1单元格为空白!" & Chr(10) & "请在A1单元格输入内容!", vbOKOnly + 16, "提示":exit sub
    ShtName = ActiveSheet.Range("a1").Value
    ShtPath = CStr(Application.InputBox("请输入工作表保存的路径", "确认路径", "F:/files", , , , , 2))
    ResMsg = MsgBox("是否清楚表格中的内容" & Chr(10) & "选择是将保存表格" & Chr(10) & "选择否不保存表格", vbYesNo + 32, "提示")
    Select Case ResMsg
    Case vbYes
        ActiveSheet.Copy
        ActiveWorkbook.SaveAs ShtPath & "\" & ShtName
        ActiveWorkbook.Close True
        MsgBox "工作表已保存到" & ShtPath & "\" & ShtName, vbOKOnly, "提示"
    Case vbNo
        Exit Sub
    End Select
    Application.DisplayAlerts = True
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-04
下面几个步骤可以给你做参考:
1. 你可以先新建一个Excel表格名称:A.xlsx
2. 在A中点击查看宏,输入宏的名称(如:另存为),点击创建
3. 在跳出的VB窗口中,将下面代码复制进去,然后关闭VB窗口
Sub 另存为()Dim wb As WorkbookDim s As WorksheetFor Each wb In Workbooks If wb.Name <> "A.xlsx" Then Set s = wb.Worksheets("保存名称B4单元格所在的sheet名称") wb.SaveAs "C:\Users\Administrator\Desktop\新建文件夹\" & s.Cells(4, 2) & ".xlsx" wb.Close True '打开的需要另存的文件要不要自动关闭,如果不要自动关闭,把这一行删除。True代表关闭并保存,False代表关闭但不保存 End IfNextEnd Sub4. 在A表格中点击查看宏,点击选项,自己输入一个快捷键。
5. 在A.xlsx打开的情况下,打开每个你要另存的Excel表格,按自己定义的快捷键(通常是Ctrl+Shift+一个键)即可。追问

从别的地方复制过来的吧。那个我看过,不是我要的。

第2个回答  2014-06-04
顶起,查一下VB涵数。
相似回答