查找和替换逻辑

时间:2016-06-28 10:05:55

标签: excel vba excel-vba

您好我有一个特定的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

有没有其他优化方法来实现这一目标?我可以使用的任何其他策略。 任何帮助将不胜感激。请指出任何现有的解决方案。我找不到具体的问题。

0 个答案:

没有答案