如何将 excel 多个工作表中同一区域内的单元格中的数据提取到新工作表,并按顺序依次排列?
一个工作薄中有许多工作表,比如我想要提取(A1:A9)列数据到新工作表,在新工作表中从上到下依次排列;这个用VBA代码怎么弄,注意是一个区域不是单个工作表。...
一个工作薄中有许多工作表,比如我想要提取(A1:A9)列数据到新工作表,在新工作表中从上到下依次排列;这个用VBA代码怎么弄,注意是一个区域不是单个工作表。
展开
4个回答
展开全部
Sub 测试()
Application.ScreenUpdating = False
Dim sht As Worksheet
On Error Resume Next
Set sht = Sheets("汇总")
If Err = 0 Then GoTo 1010
Sheets.Add(after:=Sheets(Sheets.Count)).Name = "汇总"
1010: For Each Sha In Worksheets
If Sha.Name <> "汇总" Then
Sheets("汇总").Range("A" & Sheets("汇总").Range("A65536").End(xlUp).Row() + 1 & ":A" & Sheets("汇总").Range("A65536").End(xlUp).Row() + 9) = Sha.Range("A1:A9").Value
End If
Next
Application.ScreenUpdating = True
End Sub
Application.ScreenUpdating = False
Dim sht As Worksheet
On Error Resume Next
Set sht = Sheets("汇总")
If Err = 0 Then GoTo 1010
Sheets.Add(after:=Sheets(Sheets.Count)).Name = "汇总"
1010: For Each Sha In Worksheets
If Sha.Name <> "汇总" Then
Sheets("汇总").Range("A" & Sheets("汇总").Range("A65536").End(xlUp).Row() + 1 & ":A" & Sheets("汇总").Range("A65536").End(xlUp).Row() + 9) = Sha.Range("A1:A9").Value
End If
Next
Application.ScreenUpdating = True
End Sub
更多追问追答
追问
辛苦了,我先看看。
追答
代码效果是,创建一个工作表,表名为“汇总"
再把除汇总表名的其他工作表的A1:A9
全部复制到汇总表的A列。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
算了,10分 懒得写VBA了,现在看见代码就想吐!
追问
伤,分可以追加的;只要能解决问题。
追答
呵呵,不是分的问题,这两天写多了,看见 那玩意儿就想吐,好吧 就帮你一次,发个样表给我
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把这个复制过去重新排序不就可以了吗?
追问
晕 ,你看清了没,是许多工作表不是一个;你想把我累死啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询