excel - VBA : Me. 名称函数

标签 excel vba

我有一个电子表格 xlsm“My_workfile1”,我想将此文件另存为“My_final_workfile_1.xlsm”。
我想将所有数据保存在“My_final_workfile_1”中,并在关闭后将初始文件“My_workfile1”中的单元格 C4、C6、C7、C11、C12 为空。
我的代码是:

Sub logFormState()
    Sheets("1 - Feuille de Suivi ").Range("C4") = ""
    Sheets("1 - Feuille de Suivi ").Range("C6") = ""
    Sheets("1 - Feuille de Suivi ").Range("C7") = ""
    Sheets("1 - Feuille de Suivi ").Range("C11") = ""
    Sheets("1 - Feuille de Suivi ").Range("C12") = ""
End Sub

Public Sub Workbook_BeforeClose(Cancel As Boolean)
    If Me.Name = "My_workfile1" Then
        Call logFormState
    End If
End Sub
但是Me.Name功能不起作用。我想知道我的代码是否正确。
谢谢您的帮助!

最佳答案

工作簿 BeforeClose

  • Workbook.BeforeClose event
  • Workbook.SaveCopyAs method
  • 第一个过程只是为了帮助您正确填写姓名。它将在 Immediate 中显示名称(以及文件夹路径和文件路径)。窗口 (CTRL+G)。

  • 代码
    Option Explicit
    
    Sub DebugPrint()
        With ThisWorkbook
            Debug.Print "Workbook:"
            Debug.Print """" & .FullName & """"
            Debug.Print """" & .Path & """"
            Debug.Print """" & .Name & """"
            Debug.Print "Worksheet Names:"
            Dim ws As Worksheet
            For Each ws In ThisWorkbook.Worksheets
                Debug.Print """" & ws.Name & """"
            Next ws
        End With
    End Sub
    
    Sub logFormState()
        ' Note that this worksheet name ends with a space!
        With ThisWorkbook.Worksheets("1 - Feuille de Suivi ")
            .Range("C4,C6,C7,C11,C12") = ""
            ' Either save here...
            .Parent.Save
        End With
    End Sub
    
    Public Sub Workbook_BeforeClose(Cancel As Boolean)
        If Me.Name = "My_workfile_1.xlsm" Then
            ' Change the path if necessary.
            Me.SaveCopyAs Me.Path & "\" & "My_final_workfile_1.xlsm"
            Call logFormState
            '... or save here:
            '.Save
        End If
    End Sub
    

    关于excel - VBA : Me. 名称函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66562726/

    相关文章:

    excel - Pagesetup.printquality 导致类型不匹配错误

    excel - 当 CSS 按钮元素没有任何 ID 时,如何使用 VBA Selenium 正确定位 CSS 按钮元素?

    excel - 如何将 LinEst 函数应用于行?

    excel - 如何从标准列表中过滤表格?

    vba - 如何在单独的函数中编写电子邮件正文?

    windows - 使用 VBA 从具有 SAML 身份验证的网站下载文件

    vba - Excel VBA 列表框链接

    excel - 如何使用powershell将excel 2007保存为html格式?

    vba - Excel MaxIF 函数失败但作为子运行

    arrays - 无法对数组进行切片