在Excel VBA中替换2个文本框的字符串

时间:2018-05-24 17:45:12

标签: excel vba

所以我有一个这种形式的文本框:

"客户收到XXX但订购XXXX。发送到队列进行进一步研究。"

我已经制作了文本框,他们可以放置" XXX"价值和" XXXX"值,但它不起作用,就像它只显示默认文本(我在上面提到)。此外,当我使用instr函数时,它只会更改" XXX"价值,而不是" XXXX"。

所以这就是我所拥有的:

If instr(me.textbox1.text, "XXX") Then
me.textbox1.text = Replace(TextBox1.text, "XXX", me.TextBox2.text)

显然,如果我只想要只有1个搜索条件,这就有效。但似乎instr不能使用多个if条件,因为它不像boolean。在这种情况下你有解决方法吗?

1 个答案:

答案 0 :(得分:0)

您根本不需要If。如果在文本中找不到搜索字符串,则Replace()方法将不执行任何操作。因此,只需逐个为每个搜索字符串调用Replace()

TextBox1.Text = Replace(TextBox1.Text, "XXX", TextBox2.Text)
TextBox1.Text = Replace(TextBox1.Text, "XXXX", TextBox3.Text)