码迷,mamicode.com
首页 > 其他好文 > 详细

合并工作表Excel用宏

时间:2014-11-19 10:29:31      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   sp   for   数据   

 1 Private Sub CommandButton1_Click()
 2 Dim rng As Range, arr As Range
 3 
 4 gjl = Range("b13")
 5 gjz = Range("b14:b" & Range("a65536").End(xlUp).Row)
 6 For Each arr In Sheet3.Range(gjl & "1:" & gjl & Sheet3.Range(gjl & "65536").End(xlUp).Row)
 7 For i = 1 To UBound(gjz)
 8 If arr = gjz(i, 1) Then
 9 If rng Is Nothing Then
10 Set rng = arr
11 Else
12 Set rng = Union(rng, arr)
13 End If
14 End If
15 Next i
16 Next
17 If Not rng Is Nothing Then rng.EntireRow.Delete
18 End Sub
19 
20 Private Sub Worksheet_Change(ByVal Target As Range)
21 If Target.Address = "$B$2" And Range("B2") = "汇总成一个表" Then
22 Range("B4:B6").Interior.ColorIndex = 2
23 Range("c3") = "说明:" & Chr(10) & "1、将选择的多个工作簿中的工作表合并到本工作簿<数据>表中,若工作簿中含多个工作表会对多个工作表进行合并。" & Chr(10) & "2、请在参数中输入参数以确定标题行只保留一个。" & Chr(10) & "3、合并完后可以点<删除>按钮删除不要的行。"
24 Range("C2").Validation.Delete
25 Range("C2").Interior.ColorIndex = 2
26 Range("C2").Font.ColorIndex = 2
27 End If
28 If Target.Address = "$B$2" And Range("B2") = "汇总成多个表" Then
29 Range("B4:B6").Interior.ColorIndex = 15
30 Range("c3") = "说明:" & Chr(10) & "1、将选择的多个工作簿中的工作表分别提取到本工作簿中,若工作簿中含多个工作表也会对多个工作表进行提取。" & Chr(10) & "2、无需设置参数,也无需点<删除>按钮。" & Chr(10) & "3、应选择表名的命名方式以确定提取后生成的工作表名。"
31 Range("C2").Validation.Delete
32 Range("C2").Validation.Add Type:=xlValidateList, Formula1:="以<工作簿名>为表名,以<工作表名>为表名,以<工作簿名+工作表名>为表名"
33 Range("C2").Interior.ColorIndex = 33
34 Range("C2").Font.ColorIndex = 1
35 Range("C2").Select
36 
37 End If
38 End Sub

excelhome找到一段宏,很好用,可以将多个工作表合并成一个工作表或者一个工作薄,还有删除垃圾行的内容。

下载地址如右: 汇总多个工作表

合并工作表Excel用宏

标签:style   blog   http   io   ar   color   sp   for   数据   

原文地址:http://www.cnblogs.com/liubuyao/p/4107422.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!