EXCEL宏批量处理表格技巧

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这几天整理示范校资料,老师从学校的系统内导出两个EXCEL文件,每个文件有14张学生数据表,总共28张表格,每张表的表格宽度不一,格式不同,如果需要整理成统一格式,需要花费大量时间。为了快速解决这个问题,我编写了一个表格批量处理的宏,在表格内执行宏,可以自动对数据表进行格式调整,快速解决问题。如果有特殊的功能需求,编程难度比较大,大家也可以通过宏录制的方式去实现。

批处理前的数据表:

图1每张表格的格式都不一致,部分数据也因为格式问题无法正常显示

图2每个EXCEL文件内至少有14张学生数据表,数据内容格式不一

图3数据很杂乱,“出生年月”栏数据格式不统一,且因为列宽问题导致部分数据无法正常显示

批量处理后效果:

图4 批量处理后,批量调整每个表格的列宽,表格每一项标题居中,出生日期统一格式,达到美观大方的效果,并且表格宽度调整到一张纸内可以全部打印,在打印的时候节约纸张。

一、EXCEL宏代码说明

这个宏是在office2007版本下使用VBA编程语言编写的,可以自动寻找EXCEL文档中指定的单元格并自动对单元格以及单元格内数据的大小、字体格式、对齐方式等属性进行调整。这个宏处理实现以下功能:

1、批量调整表格列宽;

2、可以自动设置某一列数据的格式,通过进一步编程也可以实现批量设置多个数据列

格式;

3、批量设置某一行的单元格格式,如全部居中;

4、自动设置某一个单元格的格式,如单元格高度等;

5、在宏程序代码中符号“'”表示注释,在“'”后面的命令不会执行,可以对程序的

命令进行解释和对不需要的命令进行屏蔽。

如果需要详细了解可以到微软的网站上查看EXCEL编程相关的技术文档,网址为:/en-us/library/bb979621(v=office.12).aspx以下是EXCEL批量处理表格宏程序代码:

Sub EXCEL格式批量调整()

'

' EXCEL格式批量调整V1.0

' author:项目管理部杨晖

' 功能描述:批量处理表格格式

'

Dim x As Integer '定义整数变量,用于选定表格

'从第一格到第12格,每个数字对应表格的字母横向字母,如“1”对应表格中“A”,“2”对应表格中“B”,依次类推,根据需要设置

For x = 1 To 12

'设置每个表格的列宽,在数组Array里面设置每个表格的宽度,比如第一个数字4.38 对应表格“A”列的列宽,第二个数字13.5对应表格“B”列宽,依次类推。

Columns(x).ColumnWidth = Array(4.38, 13.5, 6.88, 5.25, 6.25, 10.25, 8.38, 8.38, 8.38, 15.5, 13, 15.25)(x - 1)

Next

'设置表格F列时间格式为yyyy-mm-dd

With Range("F:F")

.NumberFormatLocal = "[$-F800]dddd, mmmm dd, yyyy"

End With

'设置表格A列格式居中对齐可以调整参数("A:A")去选定表格某一列,如果需要调整多个列表,复制下面的代码粘贴在后面,然后修改参数即可

With Range("A:A")

.HorizontalAlignment = xlCenter '设置水平对齐方式为居中

.VerticalAlignment = xlCenter '设置垂直对齐方式为居中

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

End With

'设置表格设置表格第2行格式居中对齐可以调整参数("2:2")去选定表格某一列

Rows("2:2").Select

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

'以下程序代码为定义具体某一个表格高度可以调整参数("1:42")去选定表格某一列'Rows("1:42").RowHeight = 14.25

'ActiveWindow.SmallScroll Down:=9

'Rows("43:43").RowHeight = 12

End Sub

二、创建宏

创建宏1:在EXCEL中选择“视图”(步骤1)->“宏”(步骤2)->“查看宏”(步骤3)创建宏2:在弹出的小窗口中输入宏的名称(步骤1)->点击“创建”(步骤2)

创建宏3:在弹出的宏编辑窗口中将代码复制进去(步骤1)->然后点击“编译”(步骤2),这时宏自动执行程序,进行批量处理。

创建宏4:运行完宏之后,即可看到按照预先设置的参数处理后的效果:

三、直接使用宏

宏参数测试成功之后,只要在“宏”对话框中选中需要的宏(步骤1),直接点击“运行”即可(步骤2),

四、宏安全设置

1、从安全机制考虑,office 办公软件有时候会禁用我们自己编写的宏代码,导致宏无法执行,这个可以在选项里设置,点击开始按钮(步骤1),在弹出的菜单中选中“EXCEL”选项

相关文档
最新文档