VBA 工作表 worksheet.add 方法

本文详细介绍了在VBA中如何使用Sheets.Add方法添加工作表,包括基本语法、参数说明、工作表的批量添加及命名技巧。通过示例代码展示了如何指定工作表的数量、位置,并修改新建工作表的名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 工作表 sheet的添加   worksheets.add  或 sheets.add

1.1 基本语法

  • Sheets.Add 方法 
  • 新建工作表、图表或宏表。新建的工作表将成为活动工作表。
  • 语法
  • 表达式.Add(Before, After, Count, Type)
  • 表达式   一个代表 Sheets 对象的变量。
  • 下面是可选的参数
名称必选/可选数据类型说明
Before可选Variant指定工作表的对象,新建的工作表将置于此工作表之前。
After可选Variant指定工作表的对象,新建的工作表将置于此工作表之后。
Count可选Variant要添加的工作表数。默认值为 1。
Type可选Variant指定工作表类型。可以为下列 XlSheetType 常量之一:xlWorksheetxlChartxlExcel4MacroSheetxlExcel4IntlMacroSheet。如果基于现有模板插入工作表,则指定该模板的路径。默认值为 xlWorksheet

1.2 worksheets.add  或 sheets.add 一般情况下没什么区别

Sub test_sh2()

Sheets.Add after:=Sheets(Sheets.Count)
Worksheets.Add after:=Worksheets(Worksheets.Count)
End Sub

1.3 增加工作表,指定数量,指定位置,修改新建sheet名称

  • 指定数量
  • count:=2  参数,指定数量

  • 指定位置
  • before:=sheets(1)
  • after:=sheets(sheets.count)

  • 修改名称
  • 利用每次新增sheets.add时,都是activesheet的特点,每次add 是 activesheet.name =""
  • 利用每次新增sheets.add时,赋值为对象,然后修改对象名

Sub test_wh1()


Sheets.Add Count:=2, before:=Sheets(1)
Sheets.Add Count:=2, after:=Sheets(Sheets.Count)

For i = 1 To 3
Sheets.Add before:=Sheets(1)
ActiveSheet.Name = i & "月"
Next

Dim sh1 As Object
Set sh1 = Sheets.Add    '默认是往before:=sheets(1)之前了
sh1.Name = "新增表"

Dim sh2 As Object
For i = 1 To 2
Set sh2 = Sheets.Add(after:=Sheets("sheet1"))  '也可以before after特定表前
sh2.Name = i & "日"
Next


End Sub

执行前

执行后

1.4 worksheets.add 和 workbook.add的特点

  • 可以同时添加多个工作表,sheets.add count:=2  指定数量即可
  • 如果是workbook只能依靠外部循环,workbooks.add 方法只支持增加一个
  • 实际上,最好的方法是,依靠外部循环,因为这样,比较好控制 sheet命名等等
  • for  ...      worksheets.add  /  worksheet.add      ....    next 

1.5 注意:参数支持函数式写法,特别是复杂表达式里需要带括号

  • 下面两种都正确
  • 语句写法
  • Sheets.Add after:=Sheets("sheet1")
  • 赋值,有返回值写法,参数一般都要加括号 (形式参数名:=实际参数值)
  • Set sh2 = Sheets.Add(after:=Sheets("sheet1")) 

### VBA Shapes.AddChart2 方法详解 #### Shapes.AddChart2 方法概述 `Shapes.AddChart2` 是 Excel VBA 中用于创建图表的一种方法。此方法允许指定更多选项来控制新图表的行为和外观,相较于 `AddChart` 提供了更丰富的功能集[^1]。 #### 函数签名与参数说明 ```vb expression.AddChart2(Style, ChartType, Left, Top, Width, Height, NewLayout, chartLocation) ``` - **Style**: 可选参数;Long 类型,默认值为0。代表应用的主题样式编号。 - **ChartType**: 必需参数;XlChartType 常量之一,定义要创建的图表类型。例如,`xl3DColumnClustered` 表示簇状三维柱形图。 - **Left**, **Top**, **Width**, **Height**: 这些都是可选参数,分别指定了图表左边缘、顶部位置以及宽度高度(单位为磅),默认情况下会自动调整尺寸适应页面布局。 - **NewLayout**: 可选布尔值,默认False。如果设为True,则使用新的布局算法重新计算图表内部元素的位置关系。 - **chartLocation**: 可选参数;枚举 XlChartLocation 的成员,决定图表放置方式。比如 `xlLocationAsObject` 将图表作为对象嵌入现有工作表内,而 `xlLocationAsNewSheet` 则会在一个新的独立的工作表中展示图表[^3]。 #### 实际案例演示 下面是一个具体的例子展示了如何利用 `Shapes.AddChart2` 创建一个带自定义样式的折线图: ```vb Sub CreateCustomLineChart() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") With ws.Shapes.AddChart2( _ Style:=138, _ ' 应用预置主题风格 ChartType:=xlLineMarkers, _ ' 设置图表种类为带有标记点的折线图 Left:=50, Top:=50, Width:=400, Height:=300, _ NewLayout:=True, _ ' 启用新版面设计 chartLocation:=xlLocationAsObject) .SetSourceData Source:=ws.Range("A1:B10") ' 设定数据源范围 ' 更改线条颜色和其他格式化操作... End With End Sub ``` 上述脚本首先设置了目标工作表变量 `ws` ,接着通过 `With...End With` 结构调用了 `Shapes.AddChart2()` 来构建所需类型的图表实例,并对其进行了初步配置,最后还指明了数据来源区间。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值