2017-04-12 192 views
1

我试图让VBA代码找到具有特定标题的列,然后在该列上执行一些计算。我的问题是我必须寻找特定的单词。就我而言,我有列标题是这样的:VBA查找完全匹配

Parametric STD-1 randomnumbers 
Parametric STD-2 randomnumbers 
STD-1 randomnumbers 
STD-2 randomnumbers 

它很容易找到参数STD-1列地址,但是当我去找STD-1就会发现参数。问题是我不能使用完全匹配参数,因为在STD-1/STD-2之后有一些随机数字。

你知道我能做些什么总是找到正确的列地址吗?

回答

1

只需使用通配符*找到第一个范围内的值开始STD-1随后任何

Range("A:A").Find("STD-1*") 

欲了解更多有关inforomation通配符有MSDN documentation的读取。您也可能会发现#操作符很有用。

+1

为什么不在这个页面添加一个链接到你的答案:https://msdn.microsoft.com/en-us/library/ee440632(v=office.12).aspx就像这样,OP可以调整通配符到他/她喜欢例如'* STD - #*'来找到'STD-1'和'STD-2'。 – Ralph

+0

谢谢,但我认为这也会首先找到“参数STD-1”。有没有选择确保在“STD-1”之前没有词? –

+2

@MthethewC。 “我认为这会......”听起来很像你没有测试过它。你为什么不先尝试一下,然后告诉我们它是否工作。只是供参考我测试它与您的数据,它工作得很好:) – CallumDA