Excel 对于每个单元格(匹配行),然后…多个范围

Excel 对于每个单元格(匹配行),然后…多个范围,excel,vba,Excel,Vba,对于Excel VBA,我是一个初学者,我完全迷路了 我希望宏部分匹配“别克”、“雪佛兰”或“庞蒂克”。D列“SheetJS”中的匹配项应复制到“Sheet1”中的AA列。E列“SheetJS”中的匹配项应复制到“Sheet1”中的AH列。F列(“SheetJS”)中的匹配项应复制到“Sheet1”中的AL列 我有其他范围,但一旦我得到这个代码的工作,我应该能够得到代码的其余部分 Sub Extract_Data_Buick() For Each cell In Sheets("Shee

对于Excel VBA,我是一个初学者,我完全迷路了

我希望宏部分匹配“别克”、“雪佛兰”或“庞蒂克”。D列“SheetJS”中的匹配项应复制到“Sheet1”中的AA列。E列“SheetJS”中的匹配项应复制到“Sheet1”中的AH列。F列(“SheetJS”)中的匹配项应复制到“Sheet1”中的AL列

我有其他范围,但一旦我得到这个代码的工作,我应该能够得到代码的其余部分

Sub Extract_Data_Buick()
    For Each cell In Sheets("SheetJS").Range("D1:D200")
        matchrow = cell.Row

        If (cell.Value = "*Buick*" Or cell.Value = "*Chevrolet*" Or cell.Value = "*Pontiac*") Then
            Sheets("Sheet1").Range("AA" & matchrow).Value = cell.Value

        End If
    Next

    For Each cell In Sheets("SheetJS").Range("E1:E200")
        matchrow = cell.Row

        If (cell.Value = "*Buick*" Or cell.Value = "*Chevrolet*" Or cell.Value = "*Pontiac*") Then
            Sheets("Sheet1").Range("AH" & matchrow).Value = cell.Value

        End If
    Next

    For Each cell In Sheets("SheetJS").Range("F1:F200")
        matchrow = cell.Row

        If (cell.Value = "*Buick*" Or cell.Value = "*Chevrolet*" Or cell.Value = "*Pontiac*") Then
            Sheets("Sheet1").Range("AL" & matchrow).Value = cell.Value

        End If
    Next
End Sub
任何提示都将不胜感激

更新01.11.20

我也试过了,但仍然无法让代码正常工作

Sub Extract_Data_Buick()
    For Each cell In Sheets("SheetJS").Range("D1:D200")
        matchrow = cell.Row

        if (cell.value like "*Buick*") Or (cell.Value = "*Chevrolet*") Or (cell.Value = "*Pontiac*") Then
            Sheets("Sheet1").Range("AA" & matchrow).Value = cell.Value

        End If
    Next

    For Each cell In Sheets("SheetJS").Range("E1:E200")
        matchrow = cell.Row

        if (cell.value like "*Buick*") Or (cell.Value = "*Chevrolet*") Or (cell.Value = "*Pontiac*") Then
            Sheets("Sheet1").Range("AH" & matchrow).Value = cell.Value

        End If
    Next

    For Each cell In Sheets("SheetJS").Range("F1:F200")
        matchrow = cell.Row

        if (cell.value like "*Buick*") Or (cell.Value = "*Chevrolet*") Or (cell.Value = "*Pontiac*") Then
            Sheets("Sheet1").Range("AL" & matchrow).Value = cell.Value

        End If
    Next
End Sub
不要使用

cell.Value = "*Buick*"
但请使用

if instr ("Buick", cell.value)> 0 then ...


请参阅:

我曾尝试过If(cell.Value,如“别克”)或(cell.Value,如“雪佛兰”)或(cell.Value,如“庞蒂亚克”),但没有成功。您正在尝试匹配字符串的一部分,因此您必须在表达式中使用*,正如我尝试过的If(cell.Value,如“别克”)或(cell.Value,如“雪佛兰”)或(cell.Value,如“庞蒂亚克”)但它只在我使用2而不是3时起作用。例如“别克”或“雪佛兰”。由于某些原因,*没有显示。您真的要将这些值放在另一张工作表的相应行中,还是确实需要将它们放在该工作表的列表中?也许,为了真正帮助您快速编码,最好包括一个屏幕截图和一个您想要的结果。
if (cell.value like "*Buick*") then ....