从VBA调用Excel的公式

现在我有一个Excel电子表格,其中包含一个button,指派给我从SQL服务器中提取数据的macros。 现在它只是拉我把它告诉它的整个表。

我这样做的人希望它进一步,以便他们可以在单元格B1中input一个SQL命令,当按下button时,它将运行包含在单元格b1中的语句。 因此,不是只能够运行macros中包含的语句,并从SQL服务器反复提取同一个表,button将能够运行包含在单元格B1中的任何语句,从而使macros容易更改。

例如:现在,macros从雇员表中提取所有信息(select * from employees),但是我想把这个语句改成类似于(调用单元格B1)的东西,然后它将运行任何在单元格B1内可以改变的内容非常容易,甚至不必进入VBA。

我会调用一个公共函数来代替你现在正在使用的SQL命令,我将把它命名为

 Private Sub CommandButton1_Click() 'dim some objects and file paths, ect With *some database* DoCmd.RunSQL "SELECT * FROM Employees" End With End Sub 

到以下

  Private Sub CommandButton1_Click() 'dim objects and file paths again With *some database* DoCmd.RunSQL(SQLSetup) End with End Sub Public Function SQLSetup() as String SQLSetup = Application.ThisWorkBook.Cells(X,Y).Value End Sub 

当然,有很多方法可以改善这一点。 您可以将SQL语句的每个元素分解为一个新的单元格,并将这些单元格值一起在函数中一起使用。 但是,只要访问单元格中的值并将其传递到可以放入SQL语句的variables中,就可以粗略地估计出您需要的值。