精华内容
下载资源
问答
  • 此工具是VBA开发,有录入绑定数据功能,可根据不同需求变更设置,扫描绑定数据自动录入Excel,可用于不同环境,工厂记录关联数据
  • 基于VB脚本的扫描器(扫码枪)数据采集对Excel表格快速录入数据 前段时间我接到个毕业设计的一部分外包,主要是关于HMI读写扫码枪数据的算法采集;因为业主是用两个不同的平台,造成PC端跟HMI混用。且扫描器也是USB...

    基于VB脚本的扫描器(扫码枪)数据采集对Excel表格快速录入数据

    前段时间我接到个毕业设计的一部分外包,主要是关于HMI读写扫码枪数据的算法采集;因为业主是用两个不同的平台,造成PC端跟HMI混用。且扫描器也是USB接口与电脑通讯模拟键盘输入。在扫描到条形码后模拟键盘对电脑输入数据。所以我帮忙写了一个VB脚本用来采集数据。

    由于我也是第一次编写VB的电脑程序,在以前工厂里都是写一点简单的脚本和算法。所以我的思路都比较生硬,欢迎各路大神指教!!

    采集流程图

    Created with Raphaël 2.2.0
    展开全文
  • 1.业务回顾客户进行下订单操作 --- >...在下订单完成后 – 产生工单 (快递员取件任务),由快递员将货物取回快递网点 – 录入运单信息 (包括货物信息、发件人、收件人信息、包装、计费、运输、签收信息 … ) ...

    1 业务回顾  客户进行下订单操作 --- > 业务受理  

      前端系统 bos_fore 系统客户可以在线下订单  

    后台系统 bos_management 中系统工作人员,接取客户电话,代替客户进行下订单  

    在下订单完成后 – 产生工单 (快递员取件任务),由快递员将货物取回快递网点 – 录入运单信息 (包括货物信息、发件人、收件人信息、包装、计费、运输、签收信息 … )

    2 快速录入业务

      快速录入运单信息 --- 并不是完整运单信息 ,为了物流运输  

            Datagrid 提供数据表格行录入功能  

    展开全文
  • 1.在这里主要以一个人员薪酬表为例子,做简单的增删改等操作,以及快速生成工资条,窗口示例如下2.数据表信息如下3.生成的工资表如下4.详细代码如下'添加员工信息Private Sub CommandButton1_Click()Dim iDim w1Set ...

    1.在这里主要以一个人员薪酬表为例子,做简单的增删改等操作,以及快速生成工资条,窗口示例如下


    2.数据表信息如下


    3.生成的工资表如下


    4.详细代码如下

    '添加员工信息
    Private Sub CommandButton1_Click()
    Dim i
    Dim w1
    Set w1 = Worksheets(1)


    i = 2
    While w1.Cells(i, 1) <> ""
    i = i + 1
    Wend
    If TextBox1 = "" Then
    MsgBox "工号不能为空!", vbOKOnly
    '将对应的信息填写在工作表中
    End If
    If TextBox1 <> "" Then
    w1.Cells(i, 1) = TextBox1.Text
    w1.Cells(i, 2) = TextBox2.Text
    w1.Cells(i, 3) = ListBox1.Text
    w1.Cells(i, 4) = ListBox2.Text
    w1.Cells(i, 5) = TextBox3.Text
    w1.Cells(i, 6) = TextBox4.Text
    End If
    MsgBox "添加完成", vbOKOnly
    End Sub
    '删除员工信息
    Private Sub CommandButton2_Click()
    Dim i
    Dim w1
    Set w1 = Worksheets(1)
    i = 2
    While w1.Cells(i, 1) <> TextBox1.Text And w1.Cells(i, 1) <> ""
     i = i + 1
    Wend
    '将对应的信息显示在对应的文本框中
        If w1.Cells(i, 1) = TextBox1.Text Then
        TextBox2.Text = w1.Cells(i, 2)
        ListBox1.Text = w1.Cells(i, 3)
        ListBox2.Text = w1.Cells(i, 4)
        TextBox3.Text = w1.Cells(i, 5)
        TextBox4.Text = w1.Cells(i, 6)
        respose = MsgBox("确定删除吗?", vbOKCancel)
                 If respose = vbOK Then
                Range("A" & i, "I" & i).Select
                Selection.Delete Shift:=xlUp
                MsgBox "删除完成", vbOKOnly
                End If
                If respose = vbCancel Then
                w1.Cells(i, 1) = TextBox1.Text
                w1.Cells(i, 2) = TextBox2.Text
                w1.Cells(i, 3) = ListBox1.Text
                w1.Cells(i, 4) = ListBox2.Text
                w1.Cells(i, 5) = TextBox3.Text
                w1.Cells(i, 6) = TextBox4.Text
        
                End If
        End If
        If w1.Cells(i, 1) <> TextBox1.Text Then
        MsgBox "未找到该工号,请确认工号是否有误!"
        End If
    End Sub
    '修改员工信息
    Private Sub CommandButton3_Click()
    Dim i
    Dim w1
    Set w1 = Worksheets(1)
    i = 2
    While w1.Cells(i, 1) <> TextBox1.Text And w1.Cells(i, 1) <> ""
     i = i + 1
    Wend
        If w1.Cells(i, 1) = TextBox1.Text Then
        TextBox2.Text = w1.Cells(i, 2)
        ListBox1.Text = w1.Cells(i, 3)
        ListBox2.Text = w1.Cells(i, 4)
        TextBox3.Text = w1.Cells(i, 5)
        TextBox4.Text = w1.Cells(i, 6)
        respose = MsgBox("确定修改吗?", vbOKCancel)
                 If respose = vbOK Then
                w1.Cells(i, 1) = TextBox1.Text
                w1.Cells(i, 2) = TextBox2.Text
                w1.Cells(i, 3) = ListBox1.Text
                w1.Cells(i, 4) = ListBox2.Text
                w1.Cells(i, 5) = TextBox3.Text
                w1.Cells(i, 6) = TextBox4.Text
                MsgBox "修改完成", vbOKOnly
                End If
                If respose = vbCancel Then
        
                End If
        End If
         If w1.Cells(i, 1) <> TextBox1.Text Then
        MsgBox "未找到该工号,请确认工号是否有误!"
        End If
    End Sub
    '一键生成工资表
    Private Sub CommandButton4_Click()
    Dim i, j
    Dim w1, w3
    Set w1 = Worksheets(1)
    Set w3 = Worksheets(3)
    i = 1
    j = 1
    While w1.Cells(i, 1) <> ""
    i = i + 1
    Wend
    While w1.Cells(1, j) <> ""
    j = j + 1
    Wend
    '将数据复制到指定工作表
    Sheets("Sheet1").Activate
    Sheets("Sheet1").Range(Cells(1, 1), Cells(i, j)).Select
     Selection.Copy
        Sheets("Sheet3").Select
        Range("A1").Select
        ActiveSheet.Paste
        i = 2
    '插入标题行
        While w3.Cells(i, 1) <> ""
      
            If (i Mod 2) = 1 Then
           w3.Range(Cells(1, 1), Cells(1, j)).Select
        Application.CutCopyMode = False
        Selection.Copy
        Sheets("Sheet3").Activate
        Sheets("Sheet3").Range("A" & i).Select
        Selection.Insert Shift:=xlDown
        End If
            i = i + 1
        Wend
        i = 2
        '插入空白行
        While Cells(i, 1) <> ""
            If (i Mod 3) = 0 Then
             Sheets("Sheet3").Activate
             Sheets("Sheet3").Range("A" & i).Select
             Application.CutCopyMode = False
             Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
             End If
        i = i + 1
        Wend
    End Sub

    
    



    展开全文
  • 制作这个VBA之前,我参考过“聚宝瓶”家谱制作。针对其缺点,彻底重写了VBA,改进如下: 1.生成世系图的过程改为由下至上,从而达到了简化逻辑的效果。 2.紧密位图。若无必要,家族成员间不插入空列。 3.尽可能使用...
  • Access是微软Office组件的数据库软件,使用它可以进行简单的数据库软件的开发。但Access的图表功能和数据分析功能不如Excel强大,...如何使用VBA导入Access的数据?如图所示,该表为Access中某个公司的加工数据表。 ...

    示例   

    Access是微软Office组件的数据库软件,使用它可以进行简单的数据库软件的开发。但Access的图表功能和数据分析功能不如Excel强大,常用的做法可以将Access中的数据导入
    Excel中再进行处理。如何使用VBA导入Access的数据?如图所示,该表为Access中某个公司的加工数据表。

    加工记录
    ID日期型号规格加工人数量
    252010/12/27 星期一ZPSZ350*500*2800王小虎15
    262010/12/27 星期一ZPSZ250*300*2900张兵31
    272010/12/27 星期一ZPSZ250*300*3000何志刚22
    282010/12/27 星期一ZPSZ300*400*2800林杰25
    292010/12/27 星期一BPS300*400*2900刘建军17
    302010/12/27 星期一BPS300*400*3500何腾壮27
    312010/12/27 星期一ZPSZ300*400*3500陈德群26
    322010/12/27 星期一ZPSZ250*300*3500朱章兵33
    332010/12/28 星期二ZPSZ350*500*2800叶胜39
    342010/12/27 星期一ZPSZ250*300*2900吕金军24
    352010/12/27 星期一ZPSZ250*300*3000丁敬新15
    362010/12/28 星期二ZPSZ300*400*2800王小虎23
    372010/12/27 星期一BPS300*400*2900张兵28
    382010/12/27 星期一BPS300*400*3500何志刚10
    392010/12/28 星期二ZPSZ300*400*3500林杰11
    402010/12/27 星期一ZPSZ250*300*3500刘建军33
    412010/12/28 星期二ZPSZ300*400*3500何腾壮28
    422010/12/27 星期一ZPSZ250*300*3500陈德群32
    432010/12/27 星期一BPS300*400*2900朱章兵36
    442010/12/28 星期二BPS300*400*3500叶胜30
    452010/12/27 星期一ZPSZ300*400*3500吕金军21
    462010/12/28 星期二ZPSZ250*300*3500丁敬新32
    472010/12/28 星期二ZPSZ350*500*2800叶胜39
    482010/12/28 星期二ZPSZ300*400*2800王小虎23
    492010/12/28 星期二ZPSZ300*400*3500林杰11
    502010/12/28 星期二ZPSZ300*400*3500何腾壮28
    512010/12/28 星期二BPS300*400*3500叶胜30
    522010/12/28 星期二ZPSZ250*300*3500丁敬新32

    代码

        利用ADO组件可以方便地对各种数据进行连接和访问。ADO组件中的Connection对象可以实现对数据库的连接,并可以快速实现SQL语句的执行,然后再用VBA将SQL查询的结果输出到Excel表格中。
        打开VBE窗口,选择菜单“工具”一“引用”,勾选Microsoft ActiveX Data Objects 2.8Library,并单击“确定”按钮。

    Option Explicit
    
    Sub 导入Access数据()
        Dim AdoConn As New ADODB.Connection
        Dim strConn As String
        Dim strSql As String
        
        '设置连接字符串
        strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                "Data Source=" & ThisWorkbook.Path & Application.PathSeparator & _
                "数据库.accdb;"
        '设置SQL查询语句
        strSql = "Select * From 型号规格"
        
        '打开数据库连接
        AdoConn.Open strConn
        
        '执行查询,并将结果输出到当前表格A1
        ActiveSheet.Range("A1").CopyFromRecordset AdoConn.Execute(strSql)
        
        '关闭连接
        AdoConn.Close
    End Sub
    

    利用ADO连接数据库

        ADO的全称是ActiveX Data Object,是一个用于存取数据源的COM组件,用以快速实现各种数据库的连接、读取、写入。在ADO组件中有一个Connection对象,利用Connection对象的Open方法可以实现数据库的连接。Open方法的语法如下:

    Connection.Open 连接文本,用户名,密码,选项
    • 连接文本:一个包含有关连接的信息的字符串。
    • 用户名:一个字符串,包含建立连接时要使用的用户名称。
    • 密码:一个字符串,包含建立连接时要使用的密码。
    • 选项:一个整型数值,确定应在建立连接之后(同步)还是在建立连接之前(异步)返回本方法。-1(默认)代表同步打开连接,16代表异步打开连接。

    利用ADO执行SQL查询并在Excel中输出结果

        连接数据库之后,即可利用ADO组件中Connection对象的Execute方法执行SQL语句查询,并将结果写入工作表中,其格式为:

    Range.CopyFromRecordset AdoConn.Execute(SQL{吾句)

        其中,Range为结果输出的起始点,即结果数据最左上角所在的单元格,SQL语句为执行查询的SQL语句。

      利用该输出方式将结果写入工作表中时,其结果是没有标题行(字段名)的。

    SQL语句

        SQL (Structured Query Language)即结构化查询语言,是关系数据库的标准语言。许多流行的数据库均支持SQL语句的查询,在微软Office系统的Excel与Access中支持SQL语句
    对数据进行查询、修改操作等。

    ADO连接不同的数据库

        利用ADO可以实现多种数据库的连接,只需改变连接字符串中的参数即可。本例中以连接Access 2007以上的数据库为例,若要连接Access 2003数据库,可以采用以下连接:

    strConn="Provider=Microsoft.Jet.OLEDB.4.0; " & _
            "Data Source=" & ThisWorkbook.Path & Application.PathSeparator & "数据库.mdb"

    对于带有密码的Access数据库,2007以上版本和2003版本的连接字符串分别如下:

    strConn="Provider=Microsoft.ACE.OLEDB.12.0;" & _
            "DataSource=" & ThisWorkbook.Path & _
             Application.PathSeparator & "; Jet OLEDB;" & _
             "Database Password=密码;¨
    strConn = "Privider=microsoft.oledb.4.0;" & _
              "Data source=" & thisworkbok.Path & Application.PathSeparator & _
              ";Jet OLEDB:database password=密码"

      连接Excel 2007以上版本的工作簿,可以采用以下连接字符串:

    strConnExcel2007 = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                        "Data Source=" & ThisWorkbook.Path & Application.PathSeparator & _
                        "数据库.xls;Extended Properties=""Excel 12.0;HDR=YES"";"
                        
    
    strconexcel2003 = "Provider=Microsoft.ACE.OLEDB.4.0;" & _
                      "Data Source=" & ThisWorkbook.Path & Application.PathSeparator & _
                      "数据库.xls;Extended Properties=""Excel 8.0;HDR=YES"";"

        其中,HDR=YES表示数据中的第一行为列(字段)的名称,如果省略该参数或者HDR=No,那么将认为表格中是数据,没有列名。
        对于Excel 2007及以上的版本,设置为Excel 12.0;Excel 2007之前的版本,则设置为Excel 8.0。对于带有密码保护的Excel工作簿,ADO无法打开,只有当该工作簿已经打开时,ADO才可以正常连接。
    连接文本文件时,可以采用以下连接字符串:

    strconnTxt = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                 "Data Source=" & ThisWorkbook.Path & Application.PathSeparator & _
                 ";Extended Properties=TEXT;"

        参数Data Source为包含文本文件的目录名,而不是文件名称。如果文本文件的第一行不包含字段名称,则必须在参数Extended Properties中加HDR=No,以避免丢失第一行的数据。
    当连接文本文件进行SQL查询时,查询语句中的数据表即为设定目录下的文本文件。以文本文件“数据库.Txt”为例,SQL语句应按照如下格式书写:

    SELECT * FROM [数据库#Txt]

    若要连接SQL Server数据库,可以采用以下连接字符串:

    strConn="Provider=SQLOLEDB;" & _
    " Data Source=ServerName\InstanceName;" & _
    "Initial Catalog=DatabaseName;" & _
    "User ID=UserName;" & _
    "Password=password; "
    

    展开全文
  • Excel窗体式数据输入编辑

    热门讨论 2011-10-07 00:23:14
    Excel用VBA实现窗体式数据输入编辑,代码公开,完善中,欢迎测试/反馈。
  • excel用vba实现输入时逐步提示信息,。
  • 大家好,我们今日讲解"VBA抓取股票历史数据的整体表处理",这节内容是"VBA信息获取与处理"教程中第六个专题"VBA中利用XMLHTTP完成网抓数据"的第八节。由于其他一些原因,涉及到文章的审核相关问题,中间还有第六节和...
  • Excel快速录入工具:

    2019-11-20 00:40:17
    Excel快速录入工具: 效果图: 效果图 插入一个ListBox: 调整成自己喜欢的风格 代码存放在Sht1里: Sht3里插入几个表, 改好表头和表名,这就是弹出列表框的数据源,还可以插入新的表,表头和表名...
  • 问题描述:excel表格中有许多数据,需要将数据导入数据库中,又不能一个一个手工录入,可以生成SQL,来批量操作。 解决方法: 1、首先在第二行的AE列,插入函数:=CONCATENATE("INSERT INTO `course` (`CID...
  • 大家好,我们今日讲解“VBA信息获取与处理”教程中第九个专题“利用IE抓取网络数据”的第三节“利用IE,抓取解禁股票数据”,这个专题是非常有用的知识点,希望大家掌握。第四节 利用IE,抓取解禁股票数据大家好,这...
  • 工作表中自动插入图片在工作中经常需要在工作表中插入大量图片,比如在工作表中需要,在A列我们录入名称在B列插入保存在同一目录中的相应的图片,如果使用手工插入不仅非常繁琐且极易出错,而使用VBA代码可以很好的...
  • excel数据快速录入

    2009-02-26 10:43:35
    一个可以在excel中快速录入数据的工具,不用上下移动鼠标,就可以快速录入一列数据。
  • 登分是每次考试后不可少的工作,21世纪各种考试的成绩统计已经进入电脑时代,但登分工作却大多停留于“刀耕火种”年代——预先整理试卷、按座位号登分,重复数据手工查找……。笔者所在学校甚至还在使用最原始方法...
  • 大家好,我们今日继续讲解VBA代码解决方案的第134讲内容:随机文件的特点及如何用自定义数据类型访问随机文件。当某文件包含结构数据时,就可以以随机模式打开它。以随机模式打开文件你可以做到:同时读写、快速访问...
  • 为了提高录入的效率,同事分别安排下属录入不同的文本,并以数字序号进行命名,最后再在...其实,我们也可以利用VBA代码实现快速合并文本的任务:打开Word文档,按下“Alt+F11”组合键,打开Microsoft Visual Basi...
  • 表中使用的家族成员数据是真实的,只是为避免泄漏个个隐私,把所有姓名都改成了字母和数字。 此表中的家族成员约1.48万,生成一次世系全图约需几十秒(看电脑配置了)。右侧家族树可以随意点选,点那个名字,就自动...
  • 在Excel中应用VBA批量导入数据

    万次阅读 2004-11-27 16:07:00
    在Excel中应用VBA批量导入数据 马维峰 1. 问题由来当一个漂亮MM向你请教如何录制并修改一个宏,把她每次的实验数据(几十个数据文件)导入Excel时,你感慨道:“很多Excel专家会录制一个宏来解决问题,然后每次...
  • 大家好,VBA是我在各个平台的主要推广的一大课题,VBA全称是Visual Basic for Applications,是实现个人小型数据自动化处理的最为可靠的工具。我们在平时的工作中,数据处理一直是工作的主要内容之一,如何利用VBA,...
  • 为了详细阐述该示例,下述内容将围绕以下3方面展开: 制作问卷 录入、保存、汇总数据 统计数据 三、制作问卷 制作问卷将分4个部分讲述: (1)设置工作表、制作问卷的基本框架 (2)利用【表单控件】设置单选题、多...
  • 在excel中使用vba实现查询、统计系统

    千次阅读 2020-07-15 11:16:20
    excel里面有很多强大的公式,可以快速实现我们想要的结果。如果在vba中可以使用公式,可以大大减少编码,提升工作效率!这么强悍的功能让我们一起学习一下吧! 我们直接通过案例来学习公式在vba中的使用 题目: ...
  • 在前面的进行WPS的安装率的统计中,使用两个FOR循环进行安装率的统计... 得到表中的行数也不需要录入,直接取值就行了。  比如: Set srcSheet = Sheets(1) '第一个sheet Set destSheet = Sheets(3) '第三个shee
  • 在前面好几波的功能中,为数据录入的规范性做了很大的改进,数据录入乃是数据应用之根,没有完整、...在Excel上录入数据,在原生功能上的确有很大缺陷,但借力Excel催化剂的四大武器(单复选框、数据有效性、多级数...
  • 大家好,我们今日讲解“VBA信息获取与处理”教程中第九个专题“利用IE抓取网络数据”的第三节“利用IE,抓取深市股票涨跌数据”,这个专题是非常有用的知识点,希望大家掌握。第三节 利用IE,抓取深市股票涨跌数据...
  • 对于Excel的参照性输入,我们一般会使用数据验证里面的序列功能。常规下我们用作系列的...以上这种常规的做法效率非常低,体验并不好,那么有没有一种快速定位列表项的办法呢?当然有,且看下面我们怎么实现它。1...
  • Excel作为最好用的数据录入工具,没有之一,如果能够充分利用好Excel的灵活性和规范性,将带来极大的生产力提升,前面的几波功能也有做了几...在第66波(数据快速录入,预定义引用数据逐字提示)的介绍中,通过提前...
  • 实现代码 Option Explicit Sub 按模板生成工作表() Dim RowN As Long Dim shtOld As Worksheet Dim shtNew As Worksheet Dim shtTemplate As Worksheet '设定模板 Set shtTemplate = Sheets("Sheet2") '设定数据工作...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 754
精华内容 301
关键字:

vba快速录入数据