如何通过EXCEL制作一个录入收集系统.doc_第1页
如何通过EXCEL制作一个录入收集系统.doc_第2页
如何通过EXCEL制作一个录入收集系统.doc_第3页
如何通过EXCEL制作一个录入收集系统.doc_第4页
如何通过EXCEL制作一个录入收集系统.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

如何通过EXCEL制作一个录入收集系统?一、数据采集系统功能 录入、保存、查询、清空、修改二、两个界面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 WithWith Sheets(数据录入) Set r1 = .Range(c4:e4, d6:l39) If IsEmpty(.Range(c4) Or IsEmpty(.Range(e4) Then Or IsEmpty(.Range(b7:b41) 添加科室不为空,未成功 MsgBox (编码、名称为空,不可保存!) ElseSet r3 = r2.Find(.Cells(4, 3), , , 1) If Not r3 Is Nothing ThenMsgBox (此编码已存在,不可保存。如果此信息需要修改,请点击查询后再修改)ElseSheets(数据存储).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 Sub2. 查询功能 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:x2If ce Then ce.Value = * & ce & * 加上通配符*,实现模糊查询 NextIf IsEmpty(.Range(c4) Or IsEmpty(.Range(e4) Then Or IsEmpty(.Range(b7:b41) 添加科室不为空,未成功 MsgBox (编码、名称为空,不可查询!) ElseSheets(数据存储).Range(A1:l & Erow).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _ .c3:e4, CopyToRange:=.A5:l5, Unique:=Falser2.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 = xlNoner2.Borders(xlInsideHorizontal).LineStyle = xlNone r2.NumberFormatLocal = ; For Each ce In .a2:x2If ce Then ce.Value = Mid(ce, 2, Len(ce) - 2) 取消 *通配符 Next End If End With End Sub3. 更新 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 WithSet 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对应的数据写入这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论