分享

使用VBA自动化处理表的代码大全4

 hercules028 2023-06-19 发布于四川

excelperfect

标签:VBA
前面的文章:
使用VBA自动化处理表的代码大全1
使用VBA自动化处理表的代码大全2
使用VBA自动化处理表的代码大全3

遍历表
本节介绍的代码遍历工作表或工作簿中所有表。
遍历工作表中所有表
如果想要在工作表的每一表中运行代码,必须遍历ListObjects集合。
Sub LoopThroughAllTablesWorksheet() '创建变量来包含工作表和表 Dim ws As Worksheet Dim tbl As ListObject Set ws = ActiveSheet '遍历工作表中的每个表 For Each tbl In ws.ListObjects '这里是处理表的代码.... Next tblEnd Sub
上述代码中,使用变量tbl来引用表,例如下面的语句修改每个表的样式:
tbl.TableStyle = 'TableStyleLight15'
遍历工作簿中所有表
下面的代码遍历工作簿中每个工作表中的每个表。
Sub LoopThroughAllTablesWorkbook() '创建变量来包含工作表和表 Dim ws As Worksheet Dim tbl As ListObject '遍历每个工作表 For Each ws In ActiveWorkbook.Worksheets '遍历工作表中每个表 For Each tbl In ws.ListObjects '这里是处理表的代码 Next tbl Next wsEnd Sub
正如上面提到的一样,必须使用代表表的变量来引用表。例如,下面的语句为每个表显示汇总行。
tbl.ShowTotals = True
添加 & 删除行和列
下面的代码添加和删除表中的行、标题行和汇总行。
向表中添加列
下面的代码向表中添加列。
Sub AddColumnToTable() '在末尾添加列 ActiveSheet.ListObjects('myTable').ListColumns.Add '在位置2添加列 ActiveSheet.ListObjects('myTable').ListColumns.Add Position:=2End Sub
向表中添加行
下面的代码向表中添加行。
Sub AddRowsToTable()  '在底部添加行  ActiveSheet.ListObjects('myTable').ListRows.Add  '在第一行添加行  ActiveSheet.ListObjects('myTable').ListRows.Add Position:=1End Sub
从表中删除列
要删除列,必需使用列索引号或者列标题。
Sub DeleteColumnsFromTable() '删除第2列 ActiveSheet.ListObjects('myTable').ListColumns(2).Delete '删除名字指定的列 ActiveSheet.ListObjects('myTable').ListColumns('二月').DeleteEnd Sub
从表中删除行
在表结构中,行没有名字,因此仅能通过引用其行号来删除。
Sub DeleteRowsFromTable()  '删除第2行  ActiveSheet.ListObjects('myTable').ListRows(2).Delete  '删除多行  ActiveSheet.ListObjects('myTable').Range.Rows('4:6').DeleteEnd Sub
向表中添加汇总行
表底部的汇总行用于计算。
Sub AddTotalRowToTable() '在显示最后一列带有值的汇总行 ActiveSheet.ListObjects('myTable').ShowTotals = True '为“汇总列”修改汇总为平均值  ActiveSheet.ListObjects('myTable').ListColumns('汇总列').TotalsCalculation = _ xlTotalsCalculationAverage '可以按位置而不是名称添加汇总  ActiveSheet.ListObjects('myTable').ListColumns(2).TotalsCalculation = _ xlTotalsCalculationAverageEnd Sub
汇总计算的类型如下:
xlTotalsCalculationNone
xlTotalsCalculationAverage
xlTotalsCalculationCount
xlTotalsCalculationCountNums
xlTotalsCalculationMax
xlTotalsCalculationMin
xlTotalsCalculationSum
xlTotalsCalculationStdDev
xlTotalsCalculationVar
表标题可视性
表标题可被打开或关闭。下面的代码隐藏标题。
Sub ChangeTableHeader()  ActiveSheet.ListObjects('myTable').ShowHeaders = FalseEnd Sub
移除自动筛选
可以隐藏表标题中的自动筛选。下面的代码正常运行的前题是,表标题必须是可见的。
Sub RemoveAutoFilter()  ActiveSheet.ListObjects('myTable').ShowAutoFilterDropDown = FalseEnd Sub
未完待续……

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多