从SQL单元格中为CASE WHEN定义参数

我想能够在Excel中的一个单元格下面的代码中定义我的参数SA.FiscalWeek

SUM(CASE WHEN SA.FISCALYEAR = 2017 AND SA.FISCALWEEK = 19 THEN SA.SALESEXVAT/SA.EXCHANGERATEEURO END ) AS 'Week' 

我将使用多个Case When我在我的整体代码全部与个别参数

我发现这是可能的使用WHERE语句,

但是想知道在CASE WHEN语句中是否有可能?

您可以使用vba将查询传递给命令文本,使用一个助手工作表与您的查询逐行列出

=“查询的第一行”

=“第2行等”

=“行3&E4&”rest等行“

E4将是一个细胞参考,使查询dynamic从Excel然后连接到一个单元格这些行,

使用vba类似于下面,我的范围“SQLCOUNTRY”是连接查询的单元格

  With ActiveWorkbook.Connections("EUUKSQL01 dashboard StockSalesAggregateWeek2") _ .OLEDBConnection .CommandText = Sheets("CountryScript").Range("SQLCOUNTRY").Value End With 

这样,查询的任何部分都可以从现有的Excel单元格中驱除