Table of contents
在与 微软Excel 我们可以利用检查大量的数据。 而且,将这些数据范围转化为表格是最大的选择之一。 Excel表格允许我们迅速对数据进行排序和过滤,添加新的记录,并立即更新图表和PivotTables。 Excel VBA 在这篇文章中,我们将看到一些例子。 Excel VBA 来从范围中创建一个表。
下载实践工作手册
你可以下载工作手册,用它们进行练习。
从范围创建表.xlsmExcel VBA从范围中创建表格的6个例子
在Excel的菜单版中,表格最初是以列表的形式出现的,但在Ribbon的变体中,这些表格的功能越来越多。 将数据范围转换为表格可以扩大功能,使你的工作更加快速和方便。 将该范围转换为表格 使用 VBA 是比使用丝带最简单的方法。
假设,我们有一个简单的数据集,在列中包含一些项目 B ,这些项目的数量在列 C 栏中,每个项目的总销售额 D 现在,我们要将数据范围转换为表格。 让我们展示不同的例子和逐步说明,以从范围创建一个表格 B4:D9 用Excel VBA。
使用 ListObjects.Add Spreadsheet对象有一个特点,就是可以将一个范围变成一个Excel表格。 列表对象 . 列表对象 有一种技术叫做 添加 的标准。 .Add 详见下文。
expression .Add(SourceType, Source, LinkSource, HasHeaders, Destination)
并且,使用SourceType xlSrcRange .
1.用Excel VBA从范围中生成表格
与 Excel VBA 要使用这些代码,用户可以很容易地从功能区使用作为excel菜单的代码。 VBA 代码,从范围中生成一个表,让我们按照程序往下看。
步骤。
- 首先,到 开发商 选项卡。
- 其次,从 编码 类别,点击 视觉基础 以打开 Visual Basic编辑器 或者按 Alt + F11 以打开 Visual Basic编辑器 .
- 与其这样做,你可以直接在你的工作表上点击右键,然后转到 查看代码 这也将带你到 Visual Basic编辑器 .
- 这将出现在 Visual Basic编辑器 我们在这里编写代码,从范围中创建一个表。
- 第三,点击 模块 从 插入 下拉菜单栏。
- 这将创建一个 模块 在你的工作簿中。
- 并且,复制并粘贴 VBA 代码如下所示。
VBA代码。
Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub
- 之后,通过点击运行代码。 擦肩而过 按钮或按键盘快捷键 F5 .
你不需要改变代码。 你所能做的只是根据你的要求改变范围而已。
- 最后,按照步骤,将从范围中创建一个表 B4:D9 .
VBA代码解释
Sub Create_Table()
子 是代码的一部分,用于处理代码中的工作,但不会返回任何值。 它也被称为子过程。 因此我们将我们的过程命名为 Create_Table() .
Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1"
这是主要的代码行,通过它将范围转换为表格。 我们已经知道 ListObjects.Add 将一个范围变成一个Excel表格。 而我们使用 xlSrcRange 作为一个源类型。 同时,我们声明我们的范围 范围("B4:D9") 最后,将我们的表命名为 表1 .
结束子程序
这将结束该程序。
阅读更多。 如何更新透视表范围(5种合适的方法)
2.使用Excel VBA从范围中构建表格
让我们看看另一个例子,用Excel VBA从范围中构建一个表格。
步骤。
- 首先,去到 发展ope 从功能区中选择 "r "选项卡。
- 第二,点击 视觉基础 以打开 Visual Basic编辑器 .
- 另一种打开方式是 Visual Basic编辑器 是简单地按下 Alt + F11 .
- 或者,在工作表上点击右键,然后选择 查看代码 .
- 接下来,请到 插入 并选择 模块 从下拉菜单中选择。
- 而且,这将打开Visual Basic窗口。
- 之后,复制并粘贴 VBA代码 下面。
VBA代码。
Sub Generate_Table() Dim tb2 As Range Dim wsht As Worksheet Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet ws.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" End Sub
- 此外,按 F5键 或点击 运行子 按钮来运行该代码。
- 而且,你将得到如图所示的结果 方法一 .
VBA代码解释
Dim tb2 As Range Dim wsht As Worksheet
ǞǞǞ DIM 声明中 VBA 指的是" 宣布。 ",它必须被用来声明一个变量。 因此,我们声明我们的范围为 tb2 和工作表,以 ws .
Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet
VBA设置只是让我们避免在运行代码时反复输入我们需要挑选的范围。 因此,我们将我们的范围设置为当前区域,将我们的工作表设置为活动工作表。
wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2"
通过这行代码,我们从范围中创建了表,并命名为我们的表 表2 .
阅读更多。 如何用VBA使用Excel表格(9种可能的方法)
3.在Excel中用VBA从范围中创建表格
让我们来看看另一个利用Excel VBA从一个范围创建表格的例子。
步骤。
- 首先,选择你想转换为表格的整个范围。
- 第二,点击 开发商 选项卡上。
- 第三,启动 Visual Basic编辑器 通过点击 视觉基础 .
- 或者,你可以访问 Visual Basic编辑器 通过按 Alt + F11 .
- 或者。 右键点击 在工作表上,选择 查看代码 从菜单中选择。
- 接下来,选择 模块 下的下拉框中选择 插入 .
- 然后会出现Visual Basic窗口。
- 把代码写在那里。
VBA代码。
Sub Create_Table3() Dim r As Range Dim wsht As Worksheet Dim tb3 As ListObject Set r = Selection.CurrentRegion Set wsht = ActiveSheet Set tb3 = wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=r, XlListObjecthasheaders:=x1Yes) End Sub
- 最后,按 F5键 来运行该代码。
- 而且,这将从数据范围中创建一个表,就像我们在文件中得到的那样 方法一 .
阅读更多。 如何在Excel中制作一个表格(带自定义功能)
类似读物
- 数据透视表中的计算字段总和除以计数
- 如何在Excel中说明相对频率分布
- Excel透视表按周分组(3个合适的例子)
- [修复]无法在数据透视表中对日期进行分组:4种可能的解决方案
- 如何在Excel中制作一个摊销表(4种方法)
4.应用VBA从范围创建动态表
让我们来看看用Excel VBA从一个区域生成表格的另一种方法。
步骤。
- 要开始,打开功能区并选择 开发商 选择。
- 然后,要访问 Visual Basic编辑器 ,点击 视觉基础 .
- 按压 Alt + F11 也将调出 Visual Basic编辑器 .
- 或者说。 右键点击 的工作表,并选择 查看代码 从出现的菜单中选择。
- 现在,从 插入 下拉选项,选择 模块 .
- 然后复制并粘贴 VBA 下面的代码。
VBA代码。
Sub Create_Dynamic_Table1() Dim tbOb As ListObject Dim TblRng As Range With Sheets("Example4") lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft) .Column Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tbOb.Name = "DynamicTable1" tbOb.TableStyle = "TableStyleMedium14" End With 结束子
- 运行代码,按 F5 钥匙。
- 如图所示,在 方法一 的图示,桌子将从范围内建立。
VBA代码解释
Sub Create_Dynamic_Table1()
这一行表示子程序的名称。
Dim tbOb As ListObject Dim TblRng As Range
这两行用于变量声明。
与Sheets("Example4")
ǞǞǞ 附声明 允许你在一个单一的对象上做一连串的语句,而不需要重新验证对象的名称。 所以,我们把 与 声明 与工作表的名称。
lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft) .Column
这些都是为了分别找到最后一行和最后一列。
Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn))
范围来创建表格。
Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes)
在上述指定的范围内创建一个表格。
tbOb.Name = "DynamicTable1"
指定表名
tbOb.TableStyle = "TableStyleMedium14"
指定表格样式。
阅读更多。 在Excel中使用快捷方式创建表格(8种方法)
5.根据范围制作动态表
现在,看看另一种Excel VBA方法,从一个范围创建一个表格。
步骤。
- 要开始,打开功能区,选择 开发商 从下拉菜单中选择。
- 然后选择 视觉基础 以打开 Visual Basic编辑器 .
- ǞǞǞ Visual Basic编辑器 也可以通过按 Alt + F11 .
- 或者,你可以 右键点击 的纸张,并选择 查看代码 从弹出的菜单中选择。
- 之后,选择 模块 从 插入 下拉菜单。
- 然后复制并粘贴以下VBA代码。
VBA代码。
Sub Create_Dynamic_Table2() Dim tbObj As ListObject Dim TblRng As Range With Sheets("Example5") .Range("A1").Select Selection.CurrentRegion.Select Set tbObj = .ListObjects.Add(xlSrcRange, Selection, , xlYes) TbObj.Name = "DynamicTable2" tbObj.TableStyle = "TableStyleMedium15" End With END Sub
- 最后,运行代码,按 F5 在你的键盘上,你可以在你的工作表中看到这个结果。
- 并且,正如在 方法一 的说明,该表将由范围构建。
阅读更多。 如何让Excel表格看起来更漂亮(8个有效技巧)
6.使用Excel VBA建立动态表格
让我们来探索另一种Excel VBA方法,即从一个范围中构建一个表格。
步骤。
- 在开始的时候,去到 开发商 标签> 视觉基础 > 插入 > 模块 .
- 或者。 右键单击 在工作表上,将打开一个窗口。 从那里到 查看代码 .
- 而且,这将带你到 Visual Basic编辑器 字段,在这里我们可以编写VBA宏。
- 另一方面,按 Alt + F11 也将打开 Visual Basic编辑器 .
- 之后,输入 VBA 代码。
VBA代码。
Sub Create_Dynamic_Table3() Dim tableObj As ListObject Dim TblRng As Range With Sheets("Example6") lLastRow = .UsedRange.Rows.Count lLastColumn = .UsedRange.Columns.Count Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tableObj = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tableObj.Name = "DynamicTable3" tableObj.TableStyle = "TableStyleMedium16" End With 结束Sub
- 然后,运行代码,看结果,按一下 F5键 .
- 而且,表格将从范围中创建,如图所示。 方法一 .
阅读更多。 如何在Excel中创建一个有数据的表格(5种方法)
总结
上述方法将帮助你在Excel中从范围中创建一个表格。 希望这能帮助你!如果你有任何问题、建议或反馈,请在评论区告诉我们。 或者你可以看一下我们的其他文章,在 淘宝网 博客!