设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 14309|回复: 20
打印 上一主题 下一主题

VBA创建新工作簿并在内按要求创建新表

[复制链接]
跳转到指定楼层
1#
发表于 2008-3-27 21:32:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编程要求:
工作薄A.xls里sheet1 里a1=1001  ,a2=1002,a3=1003,a4=1004.......
通过VBA实现新建工作薄B.xls里的sheet1命名为1001,sheet2命名为1002,sheet3命名为1003,直至a(i)=""时结束

欢迎大家攻擂哦,看看有没有更好的办法

主要思路:
1、新建一个工作簿
2、在新建工作簿中,建立新表。新建表个数:先得到你A1到AN个单元格个数,来决定新建表的个数,因为考虑到新建工作簿中一般都会有三个表,那就是N减3,也就是说要新建N-3个表
3、循环A1-AN区域取值并循环修改新建表的表名
4、在当前路径保存工作簿。就OK

实例图:


我做的实例:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2008-3-27 21:53:33 | 只看该作者
Sub Macro1()

Dim x As Long
Dim i As Long

x = Sheets("sheet1").Range("a65536").End(xlUp).Row
For i = 2 To x

Sheets.Add after:=Sheets(i - 1)
ActiveSheet.Name = Sheets("sheet1").Range("a" & i)
Sheets("sheet1").Select

Next

End Sub

[ 本帖最后由 pureshadow 于 2008-3-27 21:55 编辑 ]

点击这里给我发消息

3#
发表于 2008-3-27 21:54:17 | 只看该作者
啊哈.......
不好意思,
妖的EXCEL是设置成打开只有一个SHEET的[:30]
4#
发表于 2008-3-27 21:59:19 | 只看该作者
呵呵,E版终于开擂啦
支持一下
5#
 楼主| 发表于 2008-3-27 22:20:29 | 只看该作者
原帖由 pureshadow 于 2008-3-27 21:54 发表
啊哈.......
不好意思,
妖的EXCEL是设置成打开只有一个SHEET的[:30]


妖版主是在当前工作簿中创建表,题目是要创建新工作簿哦,在新工作簿中创建表哦

点击这里给我发消息

6#
发表于 2008-3-27 23:30:28 | 只看该作者
同一工作表内的代码还不熟.......
跨工作表的更是生硬.......
现在要我跨工作簿......
[:30]

点击这里给我发消息

7#
发表于 2008-3-27 23:31:26 | 只看该作者
原帖由 andymark 于 2008-3-27 21:59 发表
呵呵,E版终于开擂啦
支持一下

什么呀,前一个擂,已经开了几层楼了.......
老大也不关注一下E版[:30]
8#
 楼主| 发表于 2008-3-28 00:13:26 | 只看该作者
同意小妖的看法,老大不怎么关心E版哦。哈哈[:41]

点击这里给我发消息

9#
发表于 2008-3-28 00:18:34 | 只看该作者
没有啊, 看到你们打得热火朝天,我插不上啊, 一会就到了第9楼啦.
这两天基本上都在客户, 只有晚上才能看看

点击这里给我发消息

10#
发表于 2008-3-28 20:38:29 | 只看该作者
老大向来是偏心的,我们都习惯了....[:41]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 18:19 , Processed in 0.094352 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表