首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA -保存工作簿并将今天的日期添加到当前工作簿名称

VBA(Visual Basic for Applications)是一种基于Microsoft Visual Basic的宏语言,用于在Microsoft Office应用程序中编写自定义宏和脚本。它可以帮助用户自动化各种任务,提高工作效率。

在VBA中,保存工作簿并将今天的日期添加到当前工作簿名称的方法如下:

代码语言:vba
复制
Sub SaveWorkbookWithDate()
    Dim todayDate As String
    todayDate = Format(Date, "yyyy-mm-dd") '获取今天的日期,格式为yyyy-mm-dd
    
    Dim fileName As String
    fileName = ThisWorkbook.Name '获取当前工作簿的名称
    
    Dim newFileName As String
    newFileName = Left(fileName, Len(fileName) - 5) & "_" & todayDate & ".xlsx" '生成新的文件名,将日期添加到当前工作簿名称的末尾
    
    ThisWorkbook.SaveAs newFileName '保存工作簿为新的文件名
End Sub

上述代码中,首先使用Format函数获取今天的日期,并将其格式化为"yyyy-mm-dd"的形式。然后使用ThisWorkbook.Name获取当前工作簿的名称,并将其赋值给fileName变量。接下来,使用Left函数获取fileName的前缀部分(去除扩展名),然后使用字符串拼接将前缀、下划线、日期和扩展名拼接成新的文件名。最后,使用SaveAs方法将工作簿保存为新的文件名。

这样,运行SaveWorkbookWithDate宏后,当前工作簿将以今天的日期作为后缀进行保存。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供可扩展的计算能力,满足不同规模业务的需求。产品介绍链接
  • 腾讯云对象存储(COS):提供安全、稳定、低成本的云端存储服务,适用于图片、音视频、文档等各种类型的数据存储。产品介绍链接
  • 腾讯云云数据库MySQL版(TencentDB for MySQL):提供高性能、高可用的关系型数据库服务,适用于各种规模的应用场景。产品介绍链接
  • 腾讯云人工智能平台(AI Lab):提供丰富的人工智能服务和开发工具,包括图像识别、语音识别、自然语言处理等。产品介绍链接
  • 腾讯云物联网平台(IoT Hub):提供全面的物联网解决方案,帮助用户快速构建和管理物联网设备。产品介绍链接
  • 腾讯云移动推送(TPNS):提供高效、稳定的移动消息推送服务,帮助开发者实现消息推送功能。产品介绍链接
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA代码:拆分工作簿示例——将工作簿每个工作保存为单独工作簿

标签:VBA 有时候,我们想将工作簿每个工作表都保存为一个单独工作簿。 你可以使用下面的操作逐个保存工作表: 1.在工作表标签中单击右键。 2.选取“移动或复制…”命令。...3.选择“(新工作簿)”。 4.保存工作簿。 图1 这样,有多少工作表,你就要操作上面的步骤多少次。 然而,如果存在很多个工作簿,这样重复工作使用VBA是最合适。...msoFileDialogFolderPicker) .InitialFileName =Application.DefaultFilePath & "\" .Title = "选择保存工作位置...Next wks Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub 只需在要拆分工作簿中运行上述代码...,就可将该工作簿所有工作表全部保存为单独工作簿

4K11

VBA实用小程序62: 获取文件夹中最新保存工作簿

在有些情形下,我们可能需要找到指定文件夹中最新保存工作簿,然后对其进行处理。...例如,每天上班前系统会自动生成一个工作簿保存到某文件夹中,而某位员工每天上班后需要从该文件夹中打开这个新生成工作簿来提取数据,这样程序需要根据工作簿保存时间找到这个最新保存工作簿,然后再对其进行处理...下面的程序可以返回指定文件夹中最新保存工作簿名称: '获取指定文件夹中除当前工作簿外 '最新保存工作簿文件名 Function GetLastWorkbook(sPath As String) As...Do While sFile "" Set objFile = fs.GetFile(sPath &sFile) '如果文件不是本代码所在工作簿且文件最近保存日期大于上一文件保存日期...'下一个文件 sFile = Dir Loop '返回值 GetLastWorkbook = sName End Function 假设当前工作簿存放在指定要获取最新保存工作簿文件夹中

1.5K10
  • Workbook工作簿对象基础

    电脑打开了三个工作簿,从左至右分别是vba工作簿1,示例表。通过循环来获得三个工作名称。...将当前工作簿ActiveWorkbook名称name属性赋值给变量i。...通过set语句将当前活动工作簿活动工作表赋值给sht1,Set sht1 = ActiveWorkbook.ActiveSheet (复习下对象变量赋值) 最后在立即窗口㕜显示当前工作簿名称以及当前活动工作簿活动工作名称...定义变量i为字符串变量后,将thisworkbook对象,即代码所在工作簿name名称赋值给变量i,最后在立即窗口中显示。当前代码所在工作簿名称vba.xlsm。...---- 今天下雨 本节主要介绍了工作簿对象引用方法。内容之前已经有很多相似之处,后续会介绍工作簿对象常用属性和方法。祝大家学习快乐。 ----

    2.9K30

    ChatGPT与Excel结合_编写VBA

    案例1 比如我需求是:写一个基本Excel vba宏,用于将表格中第3行到第9行每一行数据转换为一个新工作簿 VBA宏如下: Sub SplitRowsToNewWorkbooks()...newWorkbook.SaveAs "路径\文件名.xlsx" ' 替换为你想要保存路径和文件名 ' 关闭新工作簿 newWorkbook.Close...' 提示完成信息 MsgBox "已将行数据分割为新工作簿保存。"...End Sub 请将代码中"路径\文件名.xlsx"替换为你希望保存路径和文件名。运行该宏后,会将第3行到第9行每一行数据复制到一个新工作簿并将保存在指定路径下。...End Sub 运行该宏后,它会遍历工作薄中每个工作表,并将每个作表中图片移动到A1单元格位置。在移动图片之后,会弹出一个提示框显示操作已完成。

    62110

    ChatGPT与Excel结合_编写VBA

    案例1 比如我需求是:写一个基本Excel vba宏,用于将表格中第3行到第9行每一行数据转换为一个新工作簿 VBA宏如下: Sub SplitRowsToNewWorkbooks()...newWorkbook.SaveAs "路径\文件名.xlsx" ' 替换为你想要保存路径和文件名 ' 关闭新工作簿 newWorkbook.Close...' 提示完成信息 MsgBox "已将行数据分割为新工作簿保存。"...End Sub 请将代码中"路径\文件名.xlsx"替换为你希望保存路径和文件名。运行该宏后,会将第3行到第9行每一行数据复制到一个新工作簿并将保存在指定路径下。...End Sub 运行该宏后,它会遍历工作薄中每个工作表,并将每个作表中图片移动到A1单元格位置。在移动图片之后,会弹出一个提示框显示操作已完成。

    49720

    Excel编程周末速成班第3课:Excel对象模型

    例如,在Sheets集合中,唯一键是工作名称,因此: Sheets(1) 引用当前工作簿第一个工作表,而: Sheets(“销售数据”) 引用名为“销售数据”工作表。...保存和关闭工作簿 若要以现有名称保存工作簿,则使用Save方法。...要以新名称保存工作簿,使用SaveAs方法: WB.SaveAs(Filename) WB是对工作簿引用,filename是保存工作簿名称。该名称可以包含.xlsx扩展名,也可以不包含。...有关详细信息,请参考VBA在线帮助。 另一种方法SaveCopyAs使你可以使用新名称保存工作簿副本,而无需更改打开工作簿名称。...如果省略,则提示用户保存更改。 参数Filename,此参数指定保存工作簿名称。如果省略,则使用当前工作簿名称

    5.1K30

    Excel实战技巧78: 创建个人宏工作簿

    个人宏工作簿是一个文件,可以在应用程序开启时运行其中VBA代码,就像是运行功能区选项卡中命令一样。创建个人宏工作簿很简单,如下所示。...步骤1:打开一个Excel工作簿,单击功能区“开发工具”选项卡中“录制宏”命令,在弹出“录制宏”对话框中,选取“保存在”下拉列表框中“个人宏工作簿”,如下图1所示。单击“确定”。 ?...图2 步骤3:双击Personal.xlsb中模块,在其中编写我们想要实现功能VBA代码。 步骤4:保存文件。...图3 下面,我们将《Excel实战技巧77:实现在当前工作表和前一个使用工作表之间自由切换》中创建快捷键功能放到个人宏工作簿中,以便于在所有打开工作簿中都能使用这个功能。...Private Sub Workbook_Open() Call TabBack_Run End Sub 保存并关闭Excel文件,然后随便打开一个工作簿,发现可以使用快捷键Alt+`在当前工作表和前一个工作表之间来回切换了

    2.8K30

    EXCEL VBA语句集300

    ) ThisWorkbook.Save ‘保存工作簿 (11) ThisWorkbook.close ‘关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count ‘获取活动工作薄中工作表数...(13) ActiveWorkbook.name ‘返回活动工作名称 (14) ThisWorkbook.Name ‘返回当前工作簿名称 ThisWorkbook.FullName ‘...返回当前工作簿路径和名称 (15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿大小 (16) Application.Window.Arrange xlArrangeStyleTiled...Last Save Time”) 或Application.Caller.Parent.Parent.BuiltinDocumentProperties(“Last Save Time”) ‘返回上次保存工作簿日期和时间...(注:若工作簿保存,则为空) (109) ThisWorkbook.ReadOnly ActiveWorkbook.ReadOnly ‘返回当前工作簿读/写值(为False) (110)

    1.9K40

    Excel数据表分割(实战记录)

    Application.ScreenUpdating = False '关闭屏幕更新以提高处理速度 '循环创建新表 For 表号 = 1 To Int(总行数 / 行数) + 1 '在当前工作簿中创建新表...End Sub 请按照以下步骤操作(Sheet): 打开Excel,按下ALT + F11打开VBA编辑器。 在左侧“项目资源管理器”窗格中,找到你工作簿,并双击打开。...如果每10行数据创建一个新工作簿而不是新工作表(Sheet),可以使用以下VBA代码: 复制代码 Sub 分割数据() Dim 原始表 As Worksheet Dim 新表 As...End Sub 请注意,此代码将创建新工作簿,并在每个新工作簿中复制相应数据。你可以根据需求修改代码中保存路径和文件名。运行代码后,将显示一个弹出窗口,指示成功分割为多少个新表。...请根据你实际需求选择适合方法,并将代码中数据区域相应地进行修改。

    37820

    告诉你什么是Excel VBA对象模型及如何引用对象

    Worksheets,特定工作簿中所有Excel工作集合。 Charts,特定工作簿内所有图表工作表。...Sheets,特定工作簿中所有工作集合,此时与工作表类型无关,包含常规工作表和图表工作表。 引用对象 在编写VBA代码时,了解如何引用对象是至关重要。...注意,这只是基本引用框架,并没有实际识别单个VBA对象,即如果有几个工作簿工作表,如何知道引用哪个?...这样,上面的完全限定引用代码可简化为: Workbooks(“Book1.xlsm”).Worksheets(“Sheet1”).Range(“A1”) 情形2:当前工作簿当前工作表 Excel总是假设你在处理当前工作簿...(标准模块中代码所在工作簿),如果你目的是处理当前工作簿,则上面的代码可进一步简化为: Worksheets(“Sheet1”).Range(“A1”) 如果你要处理工作表是当前活动工作表,代码又可简化为

    4.5K30

    Excel编程周末速成班第21课:一个用户窗体示例

    这里是该工程方案。工作簿用于维护一组人姓名和地址数据,该工作簿名为Addresses.xlsm,数据所在工作表也称为Addresses,该工作表包含各种数据项列标题,如图21-1所示。...该工作簿可能包含现有数据,也可能是空白,如图21-1所示。 3.显示一个用户窗体,使用户可以输入一个人数据。 4.继续显示用户窗体,直到输入了所有数据。 5.保存工作簿,然后关闭程序。...显示“完成”命令按钮,该按钮保存当前数据,保存工作簿并关闭窗体。 显示一个“取消”命令按钮,该命令按钮放弃当前数据并关闭窗体。 验证没有字段留为空白。 验证邮政编码条目是有效邮政编码。...步骤1:创建工作簿 要完成第一个任务是创建Addresses工作簿。按照下面的步骤: 1.启动Excel以打开一个新空白工作簿。...2.双击工作表上名称选项卡,然后输入新名称,将Sheet1重命名为Addresses。 3.输入数据列标题,如图21-1所示。

    6.1K10

    使用VBA将图片从一个工作表移动到另一个工作

    标签:VBA 今天跟大家分享技巧来自thesmallman.com,一个分享Excel技巧技术网站。...下面的Excel VBA示例将使用少量Excel VBA代码将图片从一个工作表移动到另一个工作表。为了实现这个目的,要考虑以下事情: 1.要移动图片名称。...2.当我们捕获到名称后,想把图片放到哪里。 3.如何处理所选内容要替换图片? 这里,使用数据验证列表来选择一个国家(国旗),而Excel VBA将完成其余工作。...以下是示例文件图片,以方便讲解。 图1 所有图片(旗帜)都有一个名称(如中国、加拿大、巴哈马等),并将添加到验证列表中。...然后将单元格E13中名称对应图片复制到工作表1单元格D8。演示如下图2所示。 图2 有兴趣朋友可以到原网站下载原始示例工作簿。也可以到知识星球App完美Excel社群下载汉化后示例工作簿

    3.9K20

    探索VBA代码编辑器——《Excel VBA宏编程》系列讲座2

    Excel已经为我们准备好了编写VBA代码编辑器,让我们非常方便地编写、运行和调试、保存VBA代码。...其中VBAProject是根节点,默认带有一个Excel对象,其中包含代表当前工作簿ThisWorkbook对象模块和工作表Sheet1对象模块。...图5 从中我们对Excel VBA中非常重要概念进行初步理解:工作簿是一个可以引用对象,每个工作表也是一个可以引用对象。...图7 这是一个工作簿事件Workbook_Open,当你打开该工作簿时会发生,你可以在其中输入你想在工作簿打开时执行操作代码。如果不添加任何代码,则该工作簿打开时不会执行任何操作。...图12 保存包含VBA代码工作簿保存含有VBA代码工作簿时,我们需要使用xlsm扩展名,如下图13所示,否则Excel会自动删除代码。

    3.5K20

    使用Python将多个Excel文件合并到一个主电子表格中

    当然,你也可以使用Excel VBA来实现,但Python更简洁,效率更高。 工作流程 要解决此问题,我们需要遵循以下工作流程: 1.识别我们需要合并文件。 2.从文件中获取数据。...(你可以到知识星球完美Excel社群下载示例工作簿。这里使用了3个示例工作簿来演示,当然你可以根据需要合并任意多个Excel工作簿文件。)...我们遍历指定目录中所有文件,但只处理名称以“.xlsx”结尾Excel文件,这是由下面的代码完成: if file.endswith('.xlsx'): read_excel()将excel数据读入...图2 上述代码执行以下操作: 1.循环遍历当前工作目录中所有文件,通过检查以“.xlsx”结尾文件名来确定文件是否为Excel文件。...2.如果是,则读取文件内容(数据),并将其追加/添加到名为df主数据框架变量中。 3.将主数据框架保存到Excel电子表格中。

    5.6K20

    一起学Excel专业开发18:Excel工时报表与分析系统开发(2)——创建特定应用加载宏(续)

    将工时输入工作簿副本保存到预先设定好合并区 图1所示自定义工具栏中第一个按钮作用是将工时输入工作簿副本保存到合并区,其代码如下: '保存已完成工时输入工作簿副本到指定合并位置 Public...,这样可以防止用户单击工具栏中按钮时,接口工作簿不是当前工作簿而导致运行时错误。...如果存在输入错误,则向用户显示出错信息并退出过程,否则就为工作簿创建一个唯一名称,然后在注册表中查询合并区路径。如果合并区路径并未保存到注册表,则会给出提示信息并要求用户指定其路径。...2.复制新添加行上面一行数据,并将其粘贴到新加入行内。这样可将各种保证表格正确操作和显示设置(如函数、格式和数据验证等)添加到新加入行中。 3.将新添加行中数据全部清除,为数据输入做好准备。...If bIsTimeEntryBookActive(wkbBook) Then '确保当前工作表中有一个名称为rgnClearInputs区域 On Error

    1.3K20

    Workbook工作簿对象属性

    上节介绍工作簿对象基础时实际已经用到,比较容易理解,下面通过简单示例介绍。 Activeworkbook.name表示当前活动工作簿name属性,即当前excel文件名称vba.xlsm。...二、Path属性 Path属性返回工作簿所在文件路径。如果工作簿没有被保存过则返回空字符串。...(如果工作簿没有保存过,则只返回工作簿名。) Activeworkbook.fullname属性表示当前活动工作簿完整路径和名称。...四、Codename属性 工作簿对象codename属性返回工作簿对象代码名称,在vba工程窗口中有显示,如下图红框所示。 那么通过代码来看下codename属性返回值。...---- 今天下雨 本节主要介绍了工作簿常用属性。后续会介绍工作簿对象常用方法。祝大家学习快乐。 ----

    1.8K10

    问与答66: 如何不打开Excel文件删除行?

    Q:我有大约1000多个Excel文件(扩展名为xlsx),这些文件都只有1个工作表且具有相同工作表结构,我想在不打开这些Excel文件前提下删除其工作第1至3行,如何快速实现?...A:可以使用下面的VBA代码: Sub DeleteRows() '声明变量 Dim FilePath As String Dim fFile As String Dim...Do While fFile "" '忽略当前工作簿 If fFile fName Then Set WB = Workbooks.Open...只要不是代码所在Excel工作簿文件,将打开该工作簿,执行删除第1至3行操作,然后保存结果并关闭该工作簿。 注意,代码默认所要操作工作簿与代码所在工作簿在同一文件夹中。...虽然要求不打开Excel来删除行,但使用代码打开工作簿,执行操作,保存操作结果,然后关闭工作簿,让用户觉得根本没有打开过工作簿,这也是常用技巧。 代码图片版如下:?

    1.4K10

    一起学Excel专业开发16:使用表驱动方法管理工作表用户接口

    这个工作表通常位于加载宏工作表中,而管理工作表中设置值VBA代码存放在加载宏工具模块中。(工具模块其实就是一个标准模块,用于在开发过程中辅助程序员工作,但并不被应用程序本身使用。)...2.遍历接口工作簿每个工作表,按照用于接口设置工作表中顺序读取相应预定义名称值,并将保存到用于接口设置工作表中相应单元格中。 3.删除接口工作表中所有设置,便于工作簿维护和修改。...,只是在接口工作簿中定义了名称来记录需要应用各种设置。...代码4:读取接口工作簿中预定义名称值到用于接口设置工作表中 '从接口工作簿中读取预定义名称设置值到 '用于接口设置工作表相应单元格中 Public Sub ReadSettings() '...因为直接在接口工作簿中采取手工方式更新设置非常容易,只需要更新每个工作预定义名称值即可。在完成这些调整操作后,将最新预定义名称值写回到用于接口设置工作表中,以保持驱动表与接口工作簿设置一致。

    93630
    领券