我有一段代码,应该替换变量名称以匹配公司测试指南。
到目前为止,它的效果非常好 - 只有几个例外...... 我在给定的源文件中有一个名为“P”的变量(对不起,我没有选择名称,对于工程师p,因为压力是一个有效的名称......)我需要将其更改为另一个名称并在表格中移动它的位置。但如果它根本不存在,那么我在表中放了一个“Missing”,因为对于另一个宏,所有变量名都需要存在
If m_Data.Find(string_to_replace) Is Nothing Then 'string doesn't occur at all
m_DataStripped.Cells(1, m_col).Value = string_to_replace_with
For R = 3 To lastRow
m_DataStripped.Cells(R, m_col).Value = "-- MISSING --"
Next R
End If
这适用于较长的名字,但是显然Find()正在查看其他值....所以返回包含P的所有内容(例如“PPNT”)。
是否有一些Find() - 函数选项来搜索“那个字符串完全”?
我可以循环遍历所有250个字段并检查P但是如果VBA和Excel支持Find()方法,这是麻烦且低效的...在VBA中实现一个体面,快速和有效的搜索算法是(痛苦的)开销excel宏...
答案 0 :(得分:2)
您可以尝试使用' xlWhole'在'查找'功能。这将只返回完全匹配:
If m_Data.Find(string_to_replace, Lookat:=xlWhole) Is Nothing Then 'string doesn't occur at all
m_DataStripped.Cells(1, m_col).Value = string_to_replace_with
For R = 3 To lastRow
m_DataStripped.Cells(R, m_col).Value = "-- MISSING --"
Next R
End If