office交流网--QQ交流群号

Access培训群:792054000         Excel免费交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

利用ADO在Excel中添加数据

2019-12-16 08:00:00
tmtony8
原创
5348

Excel是电子表格,我们可以直接在里面插入数据。

直接能修改,有时容易对表格数据直接修改而导致错误

所以这里我们利用vba代码ADO来添加数据。

Sub ADOaddnew()

    Dim Cn, Rs, arr, i As Integer

    Dim PathStr As String, SQL As String

    Set Cn = CreateObject("ADODB.Connection")       '创建数据连接对象

    Set Rs = CreateObject("ADODB.Recordset")        '创建记录集对象

    PathStr = ThisWorkbook.FullName

    Select Case Application.Version * 1    '设置连接字符串,根据版本创建连接

    Case Is <= 11

        strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & PathStr

    Case Is >= 12

        strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathStr & ";Extended Properties=""Excel 12.0;HDR=YES"";"""

    End Select

    SQL = "Select * From [Sheet10$]"

    Cn.Open strConn

    With Rs

        .Open SQL, Cn, 1, 3    '

        .AddNew     '添加一个新的记录



        '方法1:列字段名称法

         .Fields("编号") = Range("A" & Rows.Count).End(xlUp) + 1  '23   '编号

        .Fields("商品名称") = "洗衣机"   ',商品名称

        .Fields("单位") = "台"   '单位

        .Fields("数量") = 100   ',数量

        .Fields("单价") = 2500   ',单价

        .Fields("金额") = 250000   '金额



        '方法2:列字段索引法(从0开始)

        '        .Fields(0) = Range("A" & Rows.Count).End(xlUp) + 1 '23   '编号

        '        .Fields(1) = "洗衣机"   ',商品名称

        '        .Fields(2) = "台"   '单位

        '        .Fields(3) = 100   ',数量

        '        .Fields(4) = 2500   ',单价

        '        .Fields(5) = 250000   '金额

        .Update     '保存数据

        .Close          '关闭记录集

    End With

    Cn.Close            '关闭数据连接

    Set Rs = Nothing: Set Cn = Nothing

End Sub


添加成功

    分享