如何在excel中通过宏来直接取得数据库中的数据

如何在excel中通过宏来直接取得数据库中的数据,第1张

这个很简单,代码如下:

Sub C5C15_B3B13()

Dim Fo As Object, myName As String

Set Fo = ApplicationFileDialog(msoFileDialogFilePicker)

FoTitle = "请选择您要复制C5:C15数据的文件:"

If FoShow = True Then myName = FoSelectedItems(1)

If myName = "" Then

MsgBox "您取消了文件选择,所以本次处理未完成,将直接退出", vbOKOnly + vbInformation

Exit Sub

End If

Dim wb as Workbook

For Each wb in Workbooks

if wbFullname = myName then Goto wbHasOpened

Next

set wb = workbooksopen(myname)

wbHasOpened:

Dim sh as worksheet

For each sh in wbsheets

if shname = "Voice Quality" Then

[b3:B13] = sh[c5:c15]value

Exit For

end if

Next

Msgbox "处理完成!"

wbclose True

End Sub

1、首先打开SQL Server数据库,准备一个要导入的数据表,如下图所示,数据表中插入一些数据

2、接下来打开Excel软件,点击数据菜单,然后选择其他来源下面的来自SQL Server选项

3、然后会d出数据库连接向导界面,在输入框里面输入服务器名称,也就是计算机名

4、接下来就会出现导入内容的具体设置界面了,我们选择要导入表,并且选择一个空白单元格位置作为数据的导入位置

5、最后点击确定按钮,我们就可以看到SQL Server中的数据就导入进Excel里了

方法/步骤

有些时候我们需要从一个excel文件中的数据库中提取指定的行或列中的数据。例如如图示,是国内所有上市公司的行业统计。但是现在我们只需要其中部分上市公司的行业统计,我们怎么办呢,是一个个查找,然后复制吗,当然不是。

我们可以做一个表格,只需要把我们需要的公司代码列复制进去就会自动显示其行业统计情况。也就是从浩如烟云的数据中,提取需要的数据对应的行中的数据。下面就以我刚刚解决的这个问题为示例详细说明一下。

1、打开源数据文件,把首行中的对应的数据,复制行到空白位置。

2、选中J2单元格,单击编辑栏中的"插入函数“,

3、d出”插入函数“对话框,设置其类别为”逻辑“,并选择列表框中的IF选项。然后确定。

4、在d出的”函数参数“对话框中,设置Logical_test参数为”I2=“”,将Value_if_true设置为“”,也就是空白内容。

最重要的一步来了:

将Value_if_false参数框中输入“VLOOKUP(I2,A2:B2846,2),然后确定。这个步骤是什么意思呢。就是用if函数判定I2单元格中的内容是不是不是空白。若是空白,那么J2单元格也是空白。

若不是空白,就执行VLOOKUP函数。在A2:B2846区域中(因为源数据不改动,所以这里用的是相对引用)查找I2单元中的内容,找到后,在J2单元格中返回所找到的内容所在的行的第二列中的数据。

5、经过第4步后,我们在I2单元中输入任意证券代码就会在J2单元中显示其行业了。那么,现在我们需要的是在I列粘贴进去我们需要的证券代码后,其后会出现源数据所对应的第一行中的内容。所以要接着第6步。

6、选中J2单元格,注意是J2,不是I2哦(I2是我们输入证券代码的地方),鼠标移动到单元格右下角,出现十字光标时,按住鼠标左键向右拖动到O2单元格。

7、这个时候你就会发现原来源数据中的C2-G2单元格中的内容就会自动填充到K2-O2单元格中。这个时候,如果我们需要的数据是按源数据中的数据从上 到下排列的,就可以不用修改了。直接重复第6步中的方法,把J2-O2每个单元格下拉填充就完成了。如图示,先把需要的数据列复制到I列中,然后依次下拉 填充。

8、但有时候,如果我们需要的不是按照源数据中的排序,比如说,回到我们现在用的这个例子,如果在I3中,输入000002就会出错。

这是为什么呢,看一下J3中的公式就明白了。j3中的函数为VLOOKUP(I3,A3:B2847,2)),也就是搜索从A3到B2487区域中 的内容。没有包含A2,所以我们输入000002在源数据中找不到。所以使用这个方法前,要先对需要的数据按源数据进行排序。不然,是不准确的。

以上就是关于如何在excel中通过宏来直接取得数据库中的数据全部的内容,包括:如何在excel中通过宏来直接取得数据库中的数据、如何才能用EXCEL去连接SQL 数据库读取数据!!!!、Excel怎么设置只提取指定行中的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10159342.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存