您好我有一个特定的Excel工作表,列中包含100多个查询。查询的格式如下:
Select MKT_ID,Sum(NRX) FROM $$CURRENT_QUARTER_TABLE WHERE DATAMONTH = $$CURRENT_QUARTER_DATAMONTH
$$变量是我打算在运行时替换的参数。我在Excel的单独表格中将这些变量映射到它们的实际值。像
这样的东西VARIABLE|VALUE
$$CURRENT_QUARTER_TABLE|BS_Q3_SALES
$$CURRENT_QUARTER_DATAMONTH|201606
现在我该如何在vba中查找和替换? 这就是我要做的事情:
Dim Rng As Range
Set Rng = Config_Params.Range("C5:Q17") 'Range of all the Variable to Value Mapping
cnt = 38
For Each cl In Rng
'rng2.Replace what:= cl.Value, replacement:=
ReplaceStr = Trim(Config_Params.Cells(cl.row, 2) & "_" & Config_Params.Cells(4, cl.Column))
Debug.Print qry
Debug.Print ReplaceStr
Debug.Print cl
tmp = Replace(CStr(qry), CStr(ReplaceStr), CStr(cl))
cnt = cnt + 1
Next
使用的变量值如下
SEL count(distinct customer_id) from $$IHC_CURR_RAW_DUMP where customer_id is null and cycl_time_id =$$IHC_PREV_CYCL_TIME
$$IHC_CURR_RAW_DUMP
IHC_EXCLUSION_LIST
有没有其他优化方法来实现这一目标?我可以使用的任何其他策略。 任何帮助将不胜感激。请指出任何现有的解决方案。我找不到具体的问题。