设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4028|回复: 3
打印 上一主题 下一主题

[基础应用] 如何根据总表中某列的内容自动拆分为格式与总表一样的明细表

[复制链接]
跳转到指定楼层
1#
发表于 2005-1-8 19:36:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在“格式”工作表中有一“区域”列,我想根据“区域”列中的不同内容分为几个格式一样的明细表,新建的工作表名称以实际的区域命名:如“南1区销售部”

这一过程如何用VBA编程实现,请各位版主和高手帮忙!!!

另外,在“输入”表中有一列材料编码,原来是10位数字:如1010131313,如何在将其自动转换为取前7位数字:如:1010131



本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-1-8 23:10:00 | 只看该作者
不知道你为什么要这么做,因为不论是打印还是浏览,好像都没那样做的必要。要的话也不难,只是循环创建和复制而已。至于取前7位数字,用LEFT函数就可以了。
3#
 楼主| 发表于 2005-1-9 00:04:00 | 只看该作者
因为月末要打印出来作为各个区域和部门分帐的依据,当然在明细表整理出来后,还要对后面没有数据的列进行删除,以适合打印。至于提取前7位数,在工作表中可以用left()函数解决,但这样做要在后面的空列输入公式,然后公式得出的数据复制到A列,这个过程比较麻烦(因为在“格式”表中的公式都是引用这些固定列),我是想在原A列中的单元格直接转换得到。但在VBA中使用application.worksheetfuction.left()工作表函数却无效。因为“输入”表中的数据都是从数据库中导出来的,每月都不同。从“输入”表转换成“格式”表的格式,再到细分各个部门区域,手工操作过程比较烦复,首先要把“输入”表的A列取前7位数,再把不重复的单据号码复制到“格式”表的单据号码列,再分部门区域。我 想把这个重复而烦锁的过程变得简单一点,因些就有1楼所述的转换要求
4#
发表于 2005-1-9 01:39:00 | 只看该作者
正因为只是要打印,所以根本没有一页一页建表的必要,只要用自动筛选打印一下就行了。至于提取数字的问题,帮你编了一个:Sub Macro2()

Dim myrng As Range

Set myrng = Range(Cells(2, 1), Cells([A65536].End(xlUp).Row, 1))

For Each CL In myrng

    CL.Value = Left(CL.Value, 7)

Next CL

End Sub

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-12 08:27 , Processed in 0.089557 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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