先看一下动态效果图:
以出库为例,我们输入数据后,按保存,能自动保存到另一张工作表中,而且编号是根据日期自动编号,保证每个都不一样,还特有顺序。
录入与数据分开放,可以防止因不小心的操作而改变数据。
这样的一个表格是如何做的呢!
第一步:做出库单模板
在这个工作簿里,设计一个简单的出库单,比如写上“物品名称”、“数量”和“日期”这些栏目。
让出库单处于“分页预览”下。可以直接在打印状态下显示这出库单。
第二步:保存为带宏的文件
做好后,记得保存文件,而且要选那种“启用宏的工作簿”,这样我们才能用后面的自动化功能。
第三步:下拉菜单制作
1、我们给物品分类做个二级下拉菜单
2、先在另一个工作表里列好所有可能的分类。
3、然后回到出库单模板
(1)一级菜单(类别)的制作
选中要加下拉菜单的单元格,点击“数据验证”
选“序列”,在来源里直接选择基本信息表中的标题行。
按确定,类别的下拉菜单就有了。
(2)二级菜单的制作
首先,选中所有类别信息,然后按下CTRL G键,调出定位窗口。在定位窗口中,点击“定位条件”。
在定位条件窗口中,选择“常量”,这样空格的单元格就会被自动剔除。
接下来,点击“公式”菜单下的“定义的名称”,然后选择“根据所选内容创建”。
在这里,我们只选择“首行”进行定义,并点击确定。
在公式的名称管理器中,我们可以看到刚刚定义的名称。
然后,选中需要设置数据验证的区域,进行数据验证设置。
在数据验证的“序列”选项中,写入“indirect($B5)”。
此时,可能会出现一个提示框,提示源当前包含错误,但我们可以忽略这个提示,选择“是”。
这样,一个可以联动的二级菜单就设置好了。
第四步:日期自动编号
只输入这个公式:
=IFERROR(LOOKUP(1,0/(LEFT(出库明细表!A:A,8)=TEXT(出库单!E3,"YYYYMMDD")),出库明细表!A:A 1),TEXT(E3,"YYYYMMDD")&"001")
LOOKUP(1,0/(LEFT(出库明细表!A:A,8)=TEXT(出库单!E3,"YYYYMMDD")),出库明细表!A:A 1)
LOOKUP函数查找出库明细表中已有的单据号跟出库单的时间进行对比,日期已存的,单据号自动加1.
=IFERROR(LOOKUP函数公式,TEXT(E3,"YYYYMMDD")&"001")
这个公式是当日期不存在,那单据号就显示当前的日期连接上001。代表从单据从编号1开始。
第五步:写个小程序(宏)
为了实现一键保存,我们需要写个小程序,也就是宏。
点击出库单-----“查看代码”
新建一个模块,然后在里面写代码。
把这段代码写入这段代码:
我把代码复制到这里,只要直接复制就可以用了。
Sub 录入()
rw = [b12].End(3).Row '获取出库单最后一行数据的行号
With Sheets("出库明细表")
mxrw = .[a65535].End(3).Row 1 '获取明细表最后一行数据的行号 1
n = rw - 4
t = Range("e2").Value
.Range("a" & mxrw).Resize(n, 1) = Range("e2").Value
.Range("b" & mxrw).Resize(n, 1) = [e3]
.Range("C" & mxrw).Resize(n, 1) = [b2]
.Range("D" & mxrw).Resize(n, 1) = [b3]
.Range("E" & mxrw).Resize(n, 4) = Range("B5:E" & rw).Value
.Range("I" & mxrw).Resize(n, 1) = [b13]
End With
[b2:b3] = ""
[b5:e11] = ""
[b13] = ""
End Sub
代码的作用是:当你填好出库单,点击一个按钮,它就会自动把数据复制到“出库明细表”里。
第六步:做个保存按钮
点击“插入”,选个按钮样式,然后在出库单模板上画一个。
右击按钮,选“指定宏”,然后选你刚才写的那个小程序。
第七步:测试和使用
1、填好出库单,点击按钮,看看数据是不是自动保存到“出库明细表”里了,编号也对不对。
2、如果都ok,那你就可以开始用这个出库单啦!
好啦,今天的分享就到这里,希望这个技巧能帮到大家,让工作变得更轻松!
评论 (0)