访问已关闭工作簿中的数据



我正试图将另一个文件中的电子邮件地址获取到正在使用的活动工作簿中,但我只需要基于每天早上获取的文件中的区域的某些电子邮件地址。我目前想知道是否有一种方法可以在不必打开电子邮件列表的情况下获取这些电子邮件地址,因为这决定了vlookup是否有效?

代码如下:

Sub Vlookup_DoWhile()
Dim LookupRange As Range
Dim Cll As Range
Dim myRange As Range
Dim i As Long
Set LookupRange = Workbooks("Email List.xlsx").Sheets(1).Range("A2:B5")

i = 2
Do While ActiveWorkbook.Worksheets("PAV").Cells(i, 15).Value > 1
Cells(i, 16).Value = Application.WorksheetFunction.VLookup(Cells(i, 15), LookupRange, 2, False)
Application.Dialogs(xlDialogSendMail).Show Cells(i, 16).Value

i = i + 1
Loop
End Sub

类似的东西

Sub-adoDBConnection

Dim con as Object

设置con=createObject("adodb.connection"(

将strCon标注为字符串

'IMEX=1用于读取,0用于读取和写入

strCon=";提供商=Microsoft.ACE.OLEDB.12.0;数据源=c:\myFolder\myExcel2007file.xlsx;扩展属性='Excel 12.0 Xml;HDR=是;IMEX=1'">

con.open strCon

Range("A1"(.copyFromRecordSet con.Execute("SELECT*[Mysheet$]WHERE[MYFIELD]='myvalue';">

'或只检索一个单一值

Range("A1"(.value2=con.Execute("SELECT[MYFIELD]FROM[Mysheet$]WHERE[MYFIEDD2]='MYQUERY';((0(.value

con.close

结束子

如果您熟悉SQL查询,我建议您使用ADODB连接。它非常快。它不会闪烁Excel,您也不需要打开该文件。

最新更新