按ALT+F11,打开VBA编辑器,菜单"插入"-模块",将以下宏代码复制到代码区,关闭VBA编辑器,转到你新建的第31个表,按ALT+F8,运行"提取数据"的宏.有两个问题:1,工作表名是从哪一年开始?,代码中从1980-2009,你自己修改,工作表名称必须是如“98年”“99年”“00年”形式,并且是连续的年份,否则会报错.2,当C7和K7都非空时,提取的是A7,B7,C7,而不是I7,J7,K7代码如下:Sub 提取数据()Dim n, m, ii = 0For n = 1980 To 2009 '年份,自己修改With Sheets(Right(n, 2) & "年")
For m = 5 To 30
If .Cells(m, 3)"" Then '检查C列是否为非空
i = i + 1
Cells(i, 1) = .Cells(m, 1)
Cells(i, 2) = .Cells(m, 2)
Cells(i, 3) = .Cells(m, 3)
ElseIf .Cells(m, 11)"" Then '检查K列是否为非空
i = i + 1
Cells(i, 1) = .Cells(m, 9)
Cells(i, 2) = .Cells(m, 10)
Cells(i, 3) = .Cells(m, 11)
End If
NextEnd WithNextEnd Sub
|