一张excel表单有42000行数据,现在想按照6000行分拆成7张独立的excel表,请教各位, 90

一张excel表单有42000行数据,现在想按照6000行分拆成7张独立的excel表,请教各位,VBA语言怎么写?... 一张excel表单有42000行数据,现在想按照6000行分拆成7张独立的excel表,请教各位,VBA语言怎么写? 展开
 我来答
nhking
2016-04-09 · TA获得超过3.1万个赞
知道大有可为答主
回答量:3.6万
采纳率:78%
帮助的人:1.1亿
展开全部

设你的工作表在Sheet1 中,使用VBA(宏)代码,按Alt+F11进入VBA界面,按Alt+i+m插入模块后,复制以下代码,按F5执行。

Sub 分解工作表()
Dim i As Integer, j As Integer
j = 6000
For i = 0 To 6
    Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "分解" & i + 1
    Sheets("sheet1").Activate
    ActiveSheet.Rows((i * j + 1) & ":" & (i * j + j)).Copy
    Sheets("分解" & i + 1).Activate
    ActiveSheet.Paste
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鱼木混猪哟
高粉答主

2016-04-09 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33695

向TA提问 私信TA
展开全部
Sub main()
For i = 1 To 42000 Step 6000
arr = Range("A" & i & ":Z" & i + 5999)
Workbooks.Add
ActiveWorkbook.Sheets(1).Range("A1").Resize(6000, UBound(arr, 2)) = arr
ActiveWorkbook.Save
Set arr = Nothing
Next i
End Sub
追问
你好,你的代码运行下来的话,出现了个问题,就是我的文本格式的都转化为数字格式了(分拆后格式不能改变),大神可以再改进一下代码么?谢谢啦
追答
Sub main()
For i = 1 To 42000 Step 6000
Workbooks.Add
range("A"&i& ":Z" & i + 5999).copy ActiveWorkbook.Sheets(1).Range("A1")
ActiveWorkbook.Save
Set arr = Nothing
Next i
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扬业qs
2016-04-09 · 知道合伙人软件行家
扬业qs
知道合伙人软件行家
采纳数:1131 获赞数:2259
毕业于成都电讯工程学院,多年来从事统计工作,善长EXCEL、ACCESS与SQL数据库接口编程。

向TA提问 私信TA
展开全部
点菜单栏,工具,宏,录制宏
复制表标题行,新建—个工作表,粘贴标题行,然后再回去复制几行数据行,再粘贴,结束录制宏。
最后修改宏代码,并加上循环语句,多试几次,多改几次就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式