I';在VBA Excel中,我很难移动到其他列

I';在VBA Excel中,我很难移动到其他列,excel,vba,loops,Excel,Vba,Loops,我有一份excel工作簿,其中工作表1(ws1)中的A列有如下文本: 我需要在同一个工作簿中找到几个单词,但在另一个工作表ws2中: 我想要的结果是: 在VBA中,我正在做: 活动工作表是ws2 Row = 2 Col = "A" Row2 = 2 Col2 = "B" x = 1 Range(Col & Row).Activate ws1.Range(Col2 & 1).Value = ActiveCell.Value While ActiveCell.Value <&

我有一份excel工作簿,其中工作表1(ws1)中的A列有如下文本: 我需要在同一个工作簿中找到几个单词,但在另一个工作表ws2中: 我想要的结果是:

在VBA中,我正在做:

活动工作表是ws2

Row = 2
Col = "A"
Row2 = 2
Col2 = "B"
x = 1
Range(Col & Row).Activate
ws1.Range(Col2 & 1).Value = ActiveCell.Value
While ActiveCell.Value <> 0
        While ws1.Range("AA" & Row2).Value <> 0
            If InStr(1, ws1.Range("AA" & Row2), ActiveCell.Value) Then
                 ws1.Range(Col2 & Row2).Value = ActiveCell.Value
                   Row2 = Row2 + 1
            Else
                ws1.Range(Col2 & Row2).Value = "N/A"
                ws1.Range(Col2 & Row2).Interior.Color = RGB(1, 150, 150)
                Row2 = Row2 + 1
            End If
        Wend
        Col2=Col2+1
        Row = Row + 1
        Range(Col & Row).Activate
Wend
Row=2
Col=“A”
行2=2
Col2=“B”
x=1
范围(列和行)。激活
ws1.Range(Col2&1).Value=ActiveCell.Value
而ActiveCell.Value为0
而ws1.Range(“AA”&Row2.Value为0
如果InStr(1,ws1.Range(“AA”和Row2)、ActiveCell.Value),则
ws1.Range(Col2&Row2).Value=ActiveCell.Value
第2行=第2行+第1行
其他的
ws1.Range(Col2和Row2).Value=“N/A”
ws1.Range(Col2和Row2).Interior.Color=RGB(1150150)
第2行=第2行+第1行
如果结束
温德
Col2=Col2+1
行=行+1
范围(列和行)。激活
温德
但是我很难移动到第二个&+列并重新开始检查。 有什么想法吗


提前谢谢

不能通过说“A”+1将字符串“A”增加到“B”。不要用
范围(列和列)引用位置。值
使用
单元格(行,列)
。执行此操作时,可以按数字引用列,例如:
Range(“A1”)
单元格(1,1)
相同,并且更易于递增您是否绝对需要使用VBA执行此操作?下面的公式也可以做同样的工作:
=IFERROR(如果(FIND(B$1,$A2)>0,B$1,”,“n/a”)
谢谢@Marcucciboy2工作得很好!谢谢你,控制论游牧者!不幸的是,需要在VBA中完成,因为该部分位于更大的宏中@user9910379您当时是否已经解决了这些问题,或者您仍然需要一些帮助?