vba 自定义菜单与vba通过sql查询

1.自定义菜单

首选需要开发“开发工具”菜单
      文件--选项--自定义功能区--开发工具  勾选

    1.定义用户窗体或者宏
       1) 定义用户窗体
         Alt+F11进入Microsoft Visual Basic for Applications
         插入--用户窗体--自定义布局--实现功能

         视图--宏--录制宏--编辑
          myUserForm.Show

       2) 定义宏
         视图--宏--录制宏--编辑

    2.自定义菜单
      文件--选项--自定义功能区--开发工具--新建选项卡(新建组)
      从下列位置选择命令--宏--选择1中定义的宏--拖入新建的选项卡(新建组)中

2.vba通过sql查询,比如一个实现查询唯一值的

Sub MyDistinctValue()
        Dim cnn As Object, sql$
        //创建数据库连接对象
        Set cnn = CreateObject("adodb.connection")
        //数据源是当前工作薄,打开连接
        cnn.Open "Provider = Microsoft.ACE.Oledb.12.0;Extended Properties=excel 12.0;Data Source =" & ThisWorkbook.FullName
        //写SQl语句[Sheet1$A1:U8000],其中Sheet1类似于数据库中的表,这个是workbook中worksheet的name,$A1:U8000是一个Range
        //并且这个Range的第一行默认为表的列名,Range可以只指定某一块区域
        sql = "select distinct 唯一值列 from [Sheet1$A1:U8000]"
        //查询出来的数据反写会当前工作薄中,数据是一个table,从H1开始写入一个table
        Sheets("Sheet2").[H1].CopyFromRecordset cnn.Execute(sql)
        //关闭数据库连接
        cnn.Close
        //设置数据库连接对象为空
        Set cnn = Nothing
    End Sub

 

posted @ 2017-04-06 16:14  lcawen  阅读(376)  评论(0)    收藏  举报