gpt4 book ai didi

vba - 如何使用 VBA 代码添加新电子表格

转载 作者:行者123 更新时间:2023-12-02 09:29:13 25 4
gpt4 key购买 nike

我正在创建一个宏,宏的部分功能是让 VBA 创建一个新的电子表格。由于发行的性质,名称将会改变。我需要向此电子表格添加代码。我可以这样做吗?

最佳答案

Jook 已经解释了它是如何工作的。我会更进一步。

添加工作表的语法是

expression.Add(Before, After, Count, Type)

如果您检查内置 Excel 的帮助,您可以看到 BeforeAfterCountType 的含义对于

来自 EXCEL 的帮助

参数(所有 4 个参数都是可选的)

  1. Before - 一个对象,指定在其之前添加新工作表的工作表。
  2. After - 一个对象,指定在其后添加新工作表的工作表。
  3. Count - 要添加的工作表数量。默认值为一。
  4. 类型 - 指定工作表类型。可以是以下 XlSheetType 常量之一:xlWorksheetxlChartxlExcel4MacroSheetxlExcel4IntlMacroSheet。如果要插入基于现有模板的工作表,请指定模板的路径。默认值为 xlWorksheet。

创建工作表后,您需要使用 .insertlines 创建相关过程并嵌入您要运行的代码。

注意 - IMP:如果您希望代码将代码嵌入到 VBA 项目中,则需要确保您具有“对 VBA 项目对象模型的信任访问 ” 选定。查看快照。

enter image description here

这是一个示例,我创建一个工作表,然后嵌入一个 Worksheet_SelectionChange 代码,该代码将显示一条消息“Hello World”

代码 - 经过尝试和测试

Option Explicit

Sub Sample()
Dim ws As Worksheet
Dim nLines As Long
Dim VBP As Object, VBC As Object, CM As Object
Dim strProcName As String

Set ws = Worksheets.Add

Set VBP = ThisWorkbook.VBProject
Set VBC = VBP.VBComponents(ws.Name)
Set CM = VBC.CodeModule

strProcName = "Worksheet_SelectionChange"

With ThisWorkbook.VBProject.VBComponents( _
ThisWorkbook.Worksheets(ws.Name).CodeName).CodeModule
.InsertLines Line:=.CreateEventProc("SelectionChange", "Worksheet") + 1, _
String:=vbCrLf & _
" Msgbox ""Hello World!"""
End With
End Sub

这就是运行上述代码后新工作表代码区域的外观。

enter image description here

关于vba - 如何使用 VBA 代码添加新电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12278372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com