vb 在一个excel表里提取出不同数据里分别放到不同的excel表

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:31:15
如在原表中把所有第一列单元格中为“北京”的那一行提出来,放到命名为“北京.xls”的表中;上海的放一张表中,天津的放一张表中...
哪位大侠能不吝赐教,能解决问题的再奖励50。。。

假设原表数据区域为A2:D100。
为了简单点可以分两步
1、先手工在原表同一文件夹中用右键新建工作簿,建三个,分别命名为“北京.xls、上海.xls、天津.xls
2、将原表与三个新表同时打开,并在原表中输入下面代码:
Sub abc()
n = ActiveWorkbook.Name
a = 1: b = 1: c = 1
For i = 2 To 100
If Cells(i, 1) = "北京" Then
Range(Cells(i, 1), Cells(i, 4)).Copy
Workbooks("北京.xls").Worksheets("sheet1").Activate
Cells(a, 1).Select
ActiveSheet.Paste
a = a + 1
End If
If Cells(i, 1) = "上海" Then
Range(Cells(i, 1), Cells(i, 4)).Copy
Workbooks("上海.xls").Worksheets("sheet1").Activate
Cells(b, 1).Select
ActiveSheet.Paste
b = b + 1
End If
If Cells(i, 1) = "天津" Then
Range(Cells(i, 1), Cells(i, 4)).Copy
Workbooks("天津.xls").Worksheets("sheet1").Activate
Cells(c, 1).Select
ActiveSheet.Paste
c = c + 1
End If
Workbooks(n).Act