首页 文章

Excel VBA用于复制匹配条件单元格并根据不同工作表中的条件粘贴到特定单元格中

提问于
浏览
0

我正在尝试在单元格中搜索特定文本并将其复制到新创建的列表中 . 我需要比较这些值,从未使用过VBA . 以下是搜索和复制值的条件示例 .

Oldparam sheet Newparam sheet

在Newparam工作表中,需要根据以下示例使用OldParam工作表L列中的匹配文本填充L列;

对于名称为20M408和20M408_1时,如果列F = st1CLOSE,则在NewParam中,仅当列G = OFFNRM时才从OldParam列L复制文本 . 如果名称和st1CLOSE与OFFNRM之间不匹配,则NewParam Column L填充N / A.以上重复20M409,依此类推 .

谢谢 .

1 回答

  • 0

    我试过下面的代码但是当找到匹配时我无法得到匹配的行号(对于K =) .

    Sub match()
     Dim s1 As Worksheet, s2 As Worksheet
     Dim I As Long, J As Long, K As Long, L As Long, M As Long, NewName As String, NewValue As String
      
     Set s1 = Sheets("Report")
     Set s2 = Sheets("Sheet1")
     K = 1
     M = 1
     I = s1.Cells(Rows.Count, "A").End(xlUp).Row
     L = s2.Cells(Rows.Count, "A").End(xlUp).Row
    
     For M = 2 To L
     
        If s2.Cells(M, "F").Value = "st1 CLOSE" Then
            NewName = s2.Cells(M, "B").Value
                      
            For K = 2 To I
            
                If s1.Cells(K, "K").Value = "OFFNRMPR" And s1.Cells(K, "A").Value = NewName Then
                    s1.Cells(K, "L").Copy s2.Cells(M, "L").Value
                    Exit For
                Else: s2.Cells(M, "L").Value = "N/A"
                    Exit For
                End If
            Next
        End If
     Next
    End Sub
    

相关问题