问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Excel 怎么样用VBA做订单录入

发布网友 发布时间:2022-04-25 10:08

我来回答

1个回答

热心网友 时间:2022-06-18 17:01

一、数据采集系统功能 录入、保存、查询、清空、修改

 二、两个界面 

1.数据录入界面:前台功能使用界面,实现“录入、保存、查询、清空、修改”;

2. 数据存储界面:后台实现数据的保存; 录入界面:

三、实现方法 1. 保存功能 Sub Save() ' 

'保存数据 Marco,xiaohou制作,时间2013-9-5 ' 

Dim r1, r2, r3 As Range With Sheets("数据存储") 

Set r2 = .Range("a2", .[a100000].End(xlUp)) End With 

With Sheets("数据录入")   Set r1 = .Range("c4:e4, d6:l39") 

  If IsEmpty(.Range("c4")) Or IsEmpty(.Range("e4")) Then     'Or IsEmpty(.Range("b7:b41")) 添加科室不为空,未成功     MsgBox ("编码、名称为空,不可保存!")   Else 

Set r3 = r2.Find(.Cells(4, 3), , , 1)     If Not r3 Is Nothing Then 

MsgBox ("此编码已存在,不可保存。如果此信息需要修改,请点击查询后再修改")

Else 

Sheets("数据存储").Rows("2:35").Insert Shift:=xlDown       

.Range("c6:l39").Copy  '复制“数据录入”表体信息 

Sheets("数据存储").Range("c2:l2").PasteSpecial Paste:=xlPasteValues       .Range("c4").Copy      '复制“数据录入”编码 

Sheets("数据存储").Range("a2:a35").PasteSpecial Paste:=xlPasteValues       .Range("e4").Copy      '复制“数据录入”名称 

Sheets("数据存储").Range("b2:b35").PasteSpecial Paste:=xlPasteValues       r1.ClearContents       '保存数据后,清空录入界面       

.Range("c4").Select     End If   End If End With End Sub

2. 查询功能 Sub Query() ' 

' 查询筛选 Macro,xiaohou制作,时间2013-9-5 ' ' 

Dim Erow As Integer Dim r1, r2 As Range With Sheets("数据录入")   Set r1 = .Range("d6:l39")   Set r2 = .Range("a6:b39") 

Erow = Sheets("数据存储").[a100000].End(xlUp).Row     

r1.ClearContents     

'For Each ce In .[a2:x2] 

'If ce <> "" Then ce.Value = "*" & ce & "*"   '加上通配符*,实现模糊查询    

 'Next 

If IsEmpty(.Range("c4")) Or IsEmpty(.Range("e4")) Then     

'Or IsEmpty(.Range("b7:b41")) 添加科室不为空,未成功     

MsgBox ("编码、名称为空,不可查询!")   Else 

Sheets("数据存储").Range("A1:l" & Erow).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _     .[c3:e4], CopyToRange:=.[A5:l5], Unique:=False 

r2.Borders(xlDiagonalDown).LineStyle = xlNone     r2.Borders(xlDiagonalUp).LineStyle = xlNone     

r2.Borders(xlEdgeLeft).LineStyle = xlNone     

r2.Borders(xlEdgeTop).LineStyle = xlNone    

 r2.Borders(xlEdgeBottom).LineStyle = xlNone     

'r2.Borders(xlEdgeRight).LineStyle = xlNone     r2.Borders(xlInsideVertical).LineStyle = xlNone

 r2.Borders(xlInsideHorizontal).LineStyle = xlNone     

r2.NumberFormatLocal = ";;;"     

'For Each ce In .[a2:x2] 

 'If ce <> "" Then ce.Value = Mid(ce, 2, Len(ce) - 2)   '取消 "*"通配符   

 'Next   End If End With End Sub

3. 更新 Sub Update() ' 

'更新 Macro,xiaohou制作,时间2013-9-5      

Dim arr, d As Object      

Dim r As Range      

Dim lr&, i&, j%      

With Sheets("数据录入") '查询修改工作表数据区域写入数组arr          

'arr = .Range("A7:D" & .Range("A65536").End(xlUp).Row)          

 arr = .Range("a6:l39")          

 Set r = .Range("d6:l39")      

End With 

Set d = CreateObject("scripting.dictionary") '定义字典对象      

For i = 1 To UBound(arr) '逐行 

        'If Len(arr(i, 2)) <> 0 Then '排出“合计”行,即:姓名务数据 

            If Not d.exists(arr(i, 1) & arr(i, 2) & arr(i, 3)) Then d(arr(i, 1) & arr(i, 2) & arr(i, 3)) = arr(i, 4) & Chr(9) & arr(i, 5) _ 

            & Chr(9) & arr(i, 6) & Chr(9) & arr(i, 7) & Chr(9) & arr(i, 8) & Chr(9) & arr(i, 9) & Chr(9) & arr(i, 10) & Chr(9) & arr(i, 11) & Chr(9) & arr(i, 12)

  '上一句:如果编码和名称连接字符串字典不存在(首次出现,这里判断可能多余),这个字符串添加到字典键值,后续的相关属性字段用制表符连接添加到字典条目        

 'End If      Next 

     With Sheets("数据存储") 

     lr = .Range("A100000").End(xlUp).Row '数据存储工作表数据行数 

 '.Range("C2:D" & lr).SpecialCells(xlCellTypeConstants, 23).ClearContents '清除C、D列不含公式单元格的值 

arr = .Range("A2:l" & lr) '数据存储工作表数据区域写入数组arr      

For i = 1 To UBound(arr) '逐行 

If d.exists(arr(i, 1) & arr(i, 2) & arr(i, 3)) Then '如果编码和名称连接字符串字典存在,即Sheet2中有             

For j = 4 To 12 'D、E、F...列逐列 

 'If Not Cells(i, j).HasFormula Then Cells(i, j) = Split(d(arr(i, 1) & arr(i, 2)), Chr(9))(j - 3)                 

 '上句:如果单元格不含公式,把Sheet2对应的数据写入这个单元格

.Cells(i + 1, j) = Split(d(arr(i, 1) & arr(i, 2) & arr(i, 3)), Chr(9))(j - 4) 

Next 

End If 

Next 

End With 

r.ClearContents 

Sheets("

数据录入

").Cells(4, 3).Select 

     MsgBox ("

数据已更新完成,若要查看更新后的内容,请点击按钮查询")

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
使命召唤9打不开,每次都出现这个情况,怎么弄啊 使命召唤9无法进入关卡 百度知道百度知道的作用 梦见在水里走什么预兆 梦见光脚走路是什么兆头 西装如何穿搭才有高级感? 西装怎样搭配才能穿出又飒又优雅的气势? 西装如何搭配才能穿出优雅成熟的气质? 我考了两次科目三路考,很不辛没能通过,我想放弃了,纠结?学车很辛苦... 我考过不了科目三 在excel中怎样设置000490123这样的订单编号? excel怎么汇总订单? 我是做电商的 每天好几千的订单 我怎么把大量数据做成excel表格不用一个一个的复制粘帖的方法 excel做订单表建表思路 怎么用EXCEL制作一个订单管理系统 如何制作Excel销售订单管理表? excel表如何制作订单? 订单信息Excel表如何写 《全职业武神》全集_by笑南风_txt下载免费全文阅读 武神全集TXT。 武神主宰小说那软件可免费看?? 全能武神免费全本小说txt下载 武神TXT全文 秦尘武神主宰全文免费阅读回到灵家是哪章? 武神重生小说txt全集免费下载 武神全文阅读 推荐 武神最新章节,武神TXT下载 武神(逐浪)小说txt全集免费下载 武神txt下载(武神txt下载) 求武神txt精校版 护理学专业包括哪些? 护理专业是什么? 护理专业学什么? 护理有哪些专业? 护理属于什么专业? 抖音软件这个完整版音乐怎样下载 word2010中表格怎么设置内框线和外框线的颜色 战斗胜利后,张嘎最大的心愿是什么? 小兵张嘎的革命故事400字 小兵张嘎的主要内容~跪求!50~70字左右~~ 电影《小兵张嘎》主要讲述了什么内容? 小兵张嘎的故事情节要主要的简便的,我急需!!!快!!!不能超过50字滴!!!! 小兵张嘎的主要内容 退税申请房贷首次还款日期填错了 个税贷款首次还款日期可以乱填吗 第一期记错了还款日怎么办 分期乐选错还款日期可以改吗 还款日期选错了,逾期了怎么办? 我记错了信用卡还款日 记错了信用卡还款日期咋办