巧用VBA转换PDF文件表格
夏勇(湖北省兴山县审计局)
【发布时间:2016年10月25日】
字号:【大】 【中】 【小】

在审计工作中,我们会要求被审计单位提供各种财务报表,有时会收到被审计单位提供经会计师事务所审计后的审计报告,一般往往是PDF文件格式,对于其中需要用到的表格,无法直接进行使用和分析,直接复制粘贴到Excel电子表格中后发现原本的表格数据全部变成了一列数据。网上也能够找到各种软件将PDF格式转换为Excel,不过较为复杂,那么,有没有更简捷的方式直接把表格还原呢?

我们对复制前的数据和复制后的数据进行对比分析,发现复制前的数据行数乘以列数等于复制后的数据总行数,如果我们按源数据表的列数将复制后的数据逐条进行行列转换,就可以将数据还原成在PDF文件中显示的表格样式,但是对于数据量较大的表格来说,这种方法费时费力。

既然有规律可循,我们就利用For...Next循环语句对数据进行处理,这里需要用到两层循环,第一层循环:根据源表格的列数取数;第二层循环:将列数据逐行转换。

首先定义三个变量:变量a,为存放结果数据的行标识;变量b,为存放结果数据的列标识;变量c,为数据源的行标识。

如源表格为450行数据,复制到Excel表格中变成1200行数据,我们将数据复制到第1列,运行结果从第2列第1行开始存放。代码如下:

Dim a As Integer, b As Integer, c As Integer

a = 1

b = 2

c = 1

For a = 1 To 50

For b = 2 To 4

Cells(a, b) = Cells(c, 1)

c = c + 1

Next

Next

(夏勇)

【关闭】    【打印】