关于一日,某电力公司财务室请我去把一个Excel文件整理一下,我想想这应该没什么大问题,我到了一看头就大了,他给我一个文件是从2000年至2003的的采购台帐,由于原来的工作人员不是很熟练,设计的表格不合理,他把所有要采购的物品预先设置在第一列内,然后每月按行向右按时间填写,这样在后来无法分类汇总,且表格太大,无法打印。我弄了半天没有弄好,现在也想不出什么好办法解决。现在我想把这个表格转成另外一种格式,见附件,各位高手有什么办法没有.
的问题
如果你学会使用EXCEL中的宏,针对这种问题就容易的多了~~~
用宏生成了一个新的表格,希望能符合你的要求 ^_^
(由于表格过大。。。我也传到我的共享资料里了。。。)
语句如下:
Sub x()
Set s = Sheets。Add
s。
Name = “新表格”
Sheets(“原表格”)。Select
Set r = Range(“a7:c383”)
a = 7
b = 7
For i = 1 To 110
Sheets(“原表格”)。Select
r。Copy
s。
Select
Cells((i – 1) * 377 + 2, 1)。Select
s。Paste
Sheets(“原表格”)。Select
Range(Cells(a, b), Cells(383, b + 1))。Copy
s。
Select
Cells((i – 1) * 377 + 2, 4)。Select
s。Paste
Sheets(“原表格”)。Select
Cells(a – 2, b)。Copy
s。Select
Range(Cells((i – 1) * 377 + 2, 6), Cells(i * 377 + 1, 6))。
Select
s。Paste
b = b + 2
Next
Application。CutCopyMode = False
End Sub
ps:生成的表格还需要进行少量修改,例如去掉空数据,调整日期等,不过已经可以用于数据透视表了。