嘿,朋友们,你们还在为采购入库时录入电脑时,怕录错而烦恼吗?以后采购入库再也不用那么麻烦了。你只需要动动手指,在屏幕上选几下,不管是单个商品还是一堆货物,都能轻松搞定。单行录入?没问题!批量录入?也是小菜一碟!再也不用担心手酸眼花了。
看看下面动态的效果:
现在就如何把记录添加到明细表中去的步骤一一展现:
步骤一:先要有三张工作表
准备三张表格:采购入库单、入库明细表、基本信息,格式如图所示:
步骤二:商品信息窗体的制作
第一步:在“开发工具”选项卡中,找到并点击“Visual Basic”按钮,这将打开VBA编辑器(也称为VBE,Visual Basic Editor)窗口
如果找不到VBA的“开发工具”菜单,通常是因为该菜单在Excel的默认设置中并未被显示出来:
- 点击Excel左上角的“文件”菜单,然后选择“选项”以打开Excel选项窗口。
- 在Excel选项窗口中,选择“自定义功能区”选项。
- 在右侧的自定义功能区列表中,找到并勾选“开发工具”复选框。
- 点击“确定”按钮,关闭Excel选项窗口。此时,“开发工具”菜单应该已经出现在Excel的菜单栏中了。
第二步:制作商品信息窗体
(1)鼠标右击Thisbook------插入------用户窗体
(2)然后用户窗体属性这里把caption改成商品信息,名称改成Wpxxfm
用工具箱画出窗体上的控件:
把列表框的名称改为:ListBox_product
(3)然后右击窗体,选查看代码:
(4)把以下代码拷贝进去:
窗体初始化代码
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim columnWidths As String
Set ws = ThisWorkbook.Worksheets("基本信息") '指定工作表
'为列表框置项目
With Me.ListBox_product
.Clear
.RowSource = ws.Name & "!A1:E" & ws.Cells(Rows.count, 1).End(xlUp).Row
columnWidths = "50;100;100;60;50"
.columnWidths = columnWidths
.ColumnCount = 5
.Font.Size = 10
End With
End Sub
以下是确定按钮的代码:把入库单写到入库明细表中
Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim nextrow As Variant
Dim i As Integer
Dim j As Integer
Set ws = ThisWorkbook.Worksheets("采购入库单")
nextrow = ws.Cells(ws.Rows.count, 2).End(xlUp).Row
With Me.ListBox_product
For i = 0 To .ListCount - 1
If .Selected(i) Then
ws.Cells(nextrow 1, 2).Value = nextrow - 3
For j = 1 To .ColumnCount
ws.Cells(nextrow 1, j 2) = .List(i, j - 1)
Next j
nextrow = nextrow 1
End If
Next i
End With
Unload Me
End Sub
步骤三:输入相应的代码
(1)在sheet1工作表写入以下代码
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 And Target.Row > 4 Then
Wpxxfm.Show 0
Cancel = True
End If
End Sub
(2)增加添加记录代码
先插入模块,然后在模块里添加这段代码:
Sub 添加记录()
Dim ws As Worksheet, ws3 As Worksheet
Dim i%, j%, irows%, rkirows%
Set ws = Worksheets("采购入库单")
Set ws3 = Worksheets("入库明细表")
irows = ws.Cells(Rows.count, 2).End(xlUp).Row
If irows > 4 Then
ReDim arr(1 To irows - 4, 1 To 11)
For i = 1 To UBound(arr)
arr(i, 1) = ws.Range("C3").Value
arr(i, 2) = ws.Range("F3").Value
For j = 3 To 10
arr(i, j) = ws.Cells(i 4, j)
Next j
Next i
irows = ws3.Cells(Rows.count, 1).End(xlUp).Row
ws3.Range("A" & irows 1).Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End If
Call 清空
End Sub
同样增加个模块,把清空按钮代码放进去
步骤四:添加按钮跟清空按钮的制作
先插入形状:圆角柜形(如图)
再把圆角矩形上的文字改成"添加按钮"这四个字
再对按钮指定宏:
添加按钮指定宏完成后,用同样的步骤把再做一个清空按钮并指定宏。
以上的步骤,就能全部完成输入记录时自动添加到入库明细表中。最令人兴奋的是,所有录入的信息将自动保存到入库明细表中,无需担心数据丢失或遗漏。
注意,工作簿要保存为启动宏的工作簿。
它让繁琐的手动输入成为历史,让采购入库变得简单快捷,如果您还在为传统的手工录入方式而苦恼,不妨试试这种方法制作入库单。
评论 (0)