发布网友 发布时间:2022-04-22 23:09
共1个回答
热心网友 时间:2023-08-04 02:00
青岛经济技术开发区审计局 靳*
在日常审计中,为了能利用现场审计实施系统(以下简称“AO系统”)对数据进行分析,首先需要将采集的原始数据导入到AO系统中。然而,审计中采集的数据经常会是大量格式相同的Excel表格,如果分别将这些表格导入AO系统,则需要耗费大量时间进行重复的导入操作,降低了审计效率。
笔者通过计算机审计中级培训以及工余时间自学的计算机相关技术知识,创新思维方式,巧妙利用Excel的VBA功能,编写程序,实现将大量格式相同的Excel表格合并到一个表格中,然后再导入AO系统,进行下一步数据分析。具体合并步骤如下:1.
将所有格式相同的Excel表格保存到一个文件夹内;2.
在文件夹内新建一个Excel工作表,命名为“汇总表”;3.
打开汇总表,按“Alt + F11”打开VBA开发环境,双击工程资源管理器里面的
sheet1(sheet1),
在右侧的代码区编写如下代码:Sub合并当前目录下所有工作簿的全部工作表()Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num, ini As Long
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.NameNum = 0ini = 0Do While MyName < ""
If MyName < AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
If ini = 0 Then
Wb.Sheets(1).Range(Wb.Sheets(1).Cells(1, 1),Wb.Sheets(1).Cells(1,Wb.Sheets(1).UsedRange.Columns.Count)).Copy .Cells(1, 1)ini=1End IfFor G=1 To Sheets.Count
Wb.Sheets(G).Range(Wb.Sheets(G).Cells(2,1),Wb.Sheets(G).Cells(Wb.Sheets(G).UsedRange.Rows.Count,Wb.Sheets(G).UsedRange.Columns.Count)).Copy .Cells(.Range("A65536").End(xlUp).Row+1,1)NextWbN=WbN & Chr(13) & Wb.Name
Wb.Close FalseEnd WithEnd IfMyName=DirLoopRange("A1").Select
Application.ScreenUpdating = TrueMsgBox "共合并了" & Num & "
个工作薄下的全部工作表。如下:
" & Chr(13) & WbN, vbInformation, "提示"End Sub4.
运行代码,系统会自动将所有Excel表格合并到“汇总表”中。
“磨刀不误砍柴工”,在以后的审计工作中,只要遇到大量格式相同的Excel数据表格,业务人员都可以利用编好的VBA程序自动将这些表格合并,然后只需将汇总表导入AO系统进行相关数据分析,大大提高了审计工作效率。