VBA代码一键生成精美表格
VBA代码一键生成精美表格
还在为手动调整Excel表格格式而烦恼吗?通过VBA代码,你可以轻松实现表格美化和数据处理的自动化!
以下是一个完整的VBA代码示例,可以帮助你将工作簿制作成一张精美的表格:
Sub CreateBeautifulTable()
' 设置表格样式
ActiveSheet.ListObjects.Add(xlSrcRange, Range('A1').CurrentRegion, , xlYes).Name = 'MyTable'
ActiveSheet.ListObjects('MyTable').TableStyle = 'TableStyleMedium2'
' 设置标题格式
With Range('MyTable[#Headers]')
.Font.Bold = True
.Font.Color = RGB(255, 255, 255) ' 设置字体颜色为白色
.Interior.Color = RGB(0, 0, 0) ' 设置背景颜色为黑色
End With
' 设置数据格式
With Range('MyTable').Rows
.Font.Bold = False
.Font.Color = RGB(0, 0, 0) ' 设置字体颜色为黑色
.Interior.Color = RGB(255, 255, 255) ' 设置背景颜色为白色
End With
' 设置边框线条
With Range('MyTable').Borders
.LineStyle = xlContinuous
.Color = RGB(0, 0, 0) ' 设置线条颜色为黑色
.Weight = xlThin
End With
' 调整列宽
Columns.AutoFit
' 添加总计行
With Range('MyTable').Rows.Add
.Font.Bold = True
.Font.Color = RGB(255, 255, 255) ' 设置字体颜色为白色
.Interior.Color = RGB(0, 0, 0) ' 设置背景颜色为黑色
.Borders.LineStyle = xlContinuous
.Borders.Color = RGB(0, 0, 0) ' 设置线条颜色为黑色
.Borders.Weight = xlThin
End With
' 在总计行中求和
Range('MyTable').Rows(Range('MyTable').Rows.Count).Formula = '=SUM(MyTable[#Data])'
' 自动筛选
ActiveSheet.ListObjects('MyTable').Range.AutoFilter
' 自动排序
ActiveSheet.ListObjects('MyTable').Sort.SortFields.Clear
ActiveSheet.ListObjects('MyTable').Sort.SortFields.Add _
Key:=Range('MyTable[[#All],[Column1]]'), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveSheet.ListObjects('MyTable').Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
' 隐藏辅助列
Columns('A').Hidden = True
' 隐藏辅助行
Rows('2').Hidden = True
' 清除选择
Range('A1').Select
End Sub
使用方法:
- 将上述代码复制粘贴到VBA编辑器中的模块中。
- 打开包含你需要处理数据的Excel工作簿。
- 运行
CreateBeautifulTable宏。
代码功能:
- 创建名为'MyTable'的表格,并应用预设表格样式。
- 设置标题和数据的字体、背景颜色,突出显示重要信息。
- 添加边框线条,使表格结构更清晰美观。
- 自动调整列宽,使内容完美适应单元格。
- 添加总计行,并自动进行求和计算,方便数据汇总分析。
- 自动筛选和排序表格数据,方便快速查找和分析数据。
- 隐藏辅助列和行,使表格更加简洁易懂。
进阶使用:
你可以根据自己的需求对代码进行调整和更改,例如修改表格样式、自定义颜色、添加条件格式等等,打造专属于你的精美表格!
原文地址: http://www.cveoy.top/t/topic/xzM 著作权归作者所有。请勿转载和采集!