宏搜索特定字符的列(用户输入),然后将(用户输入)文本放入相邻列

时间:2017-05-16 15:57:41

标签: excel vba excel-vba

大家早上好/下午/晚上好。

我有一个非常奇怪的问题,VBA并不是我最好的语言。所以我想把一些成分的用户输入(所有成分都采用格式" 2成分名称................"可变数字期间(不是我的想法哈哈)。

所以我想在给定用户输入的情况下搜索某些成分的B列(其中的成分)(例如,我想要一个文本框来询问输入,例如,如果我输入" CMC&#34 ;我希望它找到包含" CMC")的单元格,当它找到输入时,我希望它为它编写一个代码(第二个文本输入框)到它旁边的A列。

所以简而言之,我有2个输入框,一个是我放入CMC,另一个是代码,让我们说5555.然后我希望它在B列中搜索包含CMC的所有单元格实例然后在同一行的A列上写下相应的代码。

我完全被这个难过了。任何帮助,将不胜感激!我的代码:

Function Test()

LastRow = Cells(Rows.Count, "B").End(xlUp).Row
Dim myValue As String
myValue = InputBox("Enter Recipe Name")
Dim ItemN As String
ItemN = InputBox("Enter Recipe CODE")




//I put this into column A?//
For i = LastRow To 1 Step -1
IF(ISERROR(SEARCH("*myValue*",B:B,1)),"","ItemN")

End If
Next i







End Function 

2 个答案:

答案 0 :(得分:0)

此?

Function Test()
    Dim LastRow As Long
    Dim myValue As String
    Dim ItemN As String
    Dim i As Integer

    'your data is supposed to be in a sheet named "Data"
    LastRow = Worksheets("Data").Cells(Rows.Count, "B").End(xlUp).Row
    myValue = InputBox("Enter Recipe Name")
    ItemN = InputBox("Enter Recipe CODE")

    For i = LastRow To 1 Step -1
        If (InStr(Worksheets("Data").Cells(i, 2), myValue) And Worksheets("Data").Cells(i, 2) <> "") Then
            Worksheets("Data").Cells(i, 1) = ItemN
        End If
    Next i
End Function

答案 1 :(得分:0)

CMArg的代码完美无缺。格式在本文档中非常糟糕,因此我只使用CTRL + F并替换所有以手动更改成分列表。然后我就使用了这个功能而且效果非常好。

感谢CMArg的所有帮助!我会努力提高自己的excel技能。