今天有一个小任务,同事发给我一个Excel表,每隔几天有一个汇率数据单独在一个sheet上,一共有好多张。
现在需要把其中的汇率数据导入到数据库里。仔细看了下表格,每一页上的数据所在的单元格位置是固定的,这点做的还是比较好的。每个sheet的名字就是那天的日期。
现在的思路就是:把每一个sheet中汇率单元格数据和sheet名取到然后复制到一张新的sheet里,循环一直把所有的sheet循环一遍就可。在表的最后建了一个名为rst的sheet,一会数据就存这里。在VBA环境里写了如下代码,执行成功。
其实这个表里的页数不是很多,如果和手动复制比的话还体现不出来差距,如果有个几年的数据就会很明显。程序的力量是无限的,让CV解脱吧。
开始的表是这样的:
处理后的结果:
编写的代码:
Sub CopyData() Dim huilv As Double Dim riqi As String For i = 1 To Worksheets.Count - 1 Sheets(i).Activate huilv = Sheets(i).Range("C3").Value riqi = Sheets(i).Name Worksheets("rst").Activate Worksheets("rst").Cells(i, 1) = huilv Worksheets("rst").Cells(i, 2) = riqi Next End Sub
你必须百分之百的把自己推销给自己。