VBA使用输入框从用户收集各种字符串进行搜索

时间:2016-07-05 16:43:35

标签: vba excel-vba excel

我正在尝试创建一个vba代码,询问用户他/她正在寻找的n个关键字,然后创建n个输入框以获取每个关键字并将其存储为字符串。我不确定最好的方法,我不知道是否应该在这里使用循环,如果应该使用它,如何编码它。这是我到目前为止所拥有的......

Sub GetKeywords()
Dim numKey As Integer
numKey = InputBox("How many keywords would you like to search for? (Integer)")

For i = 1 To numKey
    keywordi = InputBox("Please enter keyword")


Next

End Sub

在for循环中,我想创建n个变量(keyword1,keyword 2,...,keywordn),这些变量被存储并传递到不同的子目录中,以便在网页中搜索这些关键字。我遇到的问题是如何声明n个字符串变量并根据用户输入分配这些值。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

您无法像写完一样动态创建变量。我建议首先获取数字,然后将关键字存储到工作表中。或者更好的是,只需创建一个工作表,允许用户在您处理的范围内输入n个关键字。通过这种方式,您不需要Input Boxes,而且不那么麻烦。

如果您需要InputBoxes,请使用:

Sub GetKeywords()

Dim numKey As Integer
numKey = InputBox("How many keywords would you like to search for? (Integer)")

For i = 1 To numKey

    Dim keyword as String
    keyword = InputBox("Please enter keyword " & i)

    Dim ws as Worksheet
    Set ws = Worksheets("reference") 'change name as needed

    ws.Range("A" & i).Value = keyword    

Next

End Sub