Dim sh1, sh2, sh3, sh3 As Worksheet
Set sh1 = Sheet1
'分别将后面三表起名如下
Set sh2 = Sheets("安阳")
Set sh3 = Sheets("山东")
Set SH4 = Sheets("潍坊")
m = Sheet1.Range("C65536").End(xlUp).Row
m2 = Sheet2.Range("C65536").End(xlUp).Row
m3 = Sheet3.Range("C65536").End(xlUp).Row
m4 = Sheet4.Range("C65536").End(xlUp).Row
With Sheet1
For i = 1 To m
If .Cells(i, 1) = "安阳利宝经贸有限公司" Then
For j = 1 To 6
sh2.Cells(m2 + 1, j) = sh1.Cells(i, j)
Next j
End If
If .Cells(i, 1) = "山东``" Then'自己写全
For j = 1 To 6
sh3.Cells(m2 + 1, j) = sh1.Cells(i, j)
Next j
End If
If .Cells(i, 1) = "潍坊````" Then
For j = 1 To 6
sh4.Cells(m2 + 1, j) = sh1.Cells(i, j)
Next j
End If
Next i
End With
End Sub
附件中的excel的作用是,将指定的某个打开的工作薄中的一张大表,按指定的一列中不同的关键字拆分到多个工作表,或是多个工作薄中。切记一点的是,需要拆分的工作表,要打开着。否则会出错。
以下所说的关键字,其实就是指定区域所含的不重复单元格。
说明:1、点击上面的按钮后,首选要输入需要拆分的工作表所在的工作薄名字,可以是本
工作薄名字,也可以是其他打开的工作薄的名字,这个要看你想拆分的工作表具
体在哪个工作薄中了,记住要包含工作薄的后缀名。
2、第二步请输入第一步中指定工作薄中需要拆分的工作表的名称。
3、第三步,请输入需要拆分的工作表中拆分依据所在的列号。
4、第四步,请输入需要拆分的工作表中拆分依据开始的行号。
5、第五步,请输入需要拆分的工作表中拆分依据结束的行号。
以上5步要填的内容,可以事先填在本表H1到H5的单元格中。
6、第六步,需要选择是只拆分指定的关键字,还是将拆分依据中所有的关键字都拆
分。如果需要指定关键字拆分,那么就会d出选择关键字的对话框。如果所选择
的关键字在依据区域全都没有,刚会提示是否需要重新选择。如果所选择的关键
字中只有一部分在依据区域中有,那么只拆分在拆分依据中的有关键字。
7、如果第六步,关键字选择完毕,那么第七步就需要选择是拆分到源工作薄的新建
工作表中,还是拆分到源工作薄所在目录下面的新建工作薄中。如果选择拆分到
源工作薄的新建工作表中,那么就会先删除源工作薄中以关键字命名的工作表,
然后再将拆分的各个工作表以关键字命名。如果选择拆分到新建工作薄中,那么
接下来要选择新建工作薄命名方式,然后再选择工作表的命名方式。
8、最后一点,如果要只拆分部分关键字,那么关键字一定要事先写在该工薄中,否
则没法取得关键字。不管是拆分部分关键字还是全部关键字,关键字所在单元格
不能是用公式得到的字符。
ps:总表中拆分依据所在列的内容最好为纯文本,不要用公式。并且如果要拆分的大表中如果有很多公式,打开很慢的话,建议先在大表中把公式计算模式改为手动计算。
VBA中 的关键字 不能作为标识符来使用
常用的关键字如下( 摘自博客 : https://blog.csdn.net/hpdlzu80100/article/details/80529009 )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)