设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 13878|回复: 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

21#
发表于 2016-12-4 13:13:15 | 只看该作者
先整回去好好
20#
发表于 2011-4-24 07:22:53 | 只看该作者
老大向来是偏心的,我们都习惯了
19#
发表于 2010-9-13 13:33:13 | 只看该作者
我也来试试吧:
第一次写VBA,不好的地方多多指教。
Sub SheetsAdd()
'计算非空单元格个数,获取需要增加的工作表
SheetCount = Application.WorksheetFunction.CountA(Sheets(1).Range("A:A"))
For i = 1 To SheetCount - 1
'增加表
Sheets.Add after:=Sheets(i)
Next i
For i = 1 To SheetCount
'提取Sheet1的单元格数值命名表
Sheets(i).Name = Sheets(1).Range("A" & i).Value
Next i
End Sub
18#
发表于 2009-11-7 22:27:02 | 只看该作者
呵呵  
   先整回去好好研究下,感谢
17#
发表于 2008-10-9 17:09:17 | 只看该作者
谢谢您。我最需要的就是这个。
16#
 楼主| 发表于 2008-4-1 18:09:31 | 只看该作者
原帖由 grass761 于 2008-4-1 16:25 发表
结果非常满意
我想再问的是 我想反复读取Sheet1中cells(1,1)内数据(数据可以由外面获得也可以由人为自行填写进去),然后将读取的数据依次填写到Sheet2中的单元格中,并且每次读出保存的数据都对应有读出的时间。这 ...


建议把问题发到论坛综合区
15#
发表于 2008-4-1 16:25:14 | 只看该作者

感谢 并请教问题

结果非常满意
我想再问的是 我想反复读取Sheet1中cells(1,1)内数据(数据可以由外面获得也可以由人为自行填写进去),然后将读取的数据依次填写到Sheet2中的单元格中,并且每次读出保存的数据都对应有读出的时间。这个问题您帮忙解答下。谢谢!


老师请帮忙解答下 谢谢。
14#
 楼主| 发表于 2008-3-31 20:42:34 | 只看该作者
你试着按上面的修改试试看
13#
 楼主| 发表于 2008-3-31 20:42:17 | 只看该作者
NewBook.SaveAs Filename:="D:\" & y & ".xls"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 05:20 , Processed in 0.105431 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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