如何逐行查看值是否已经存在?

时间:2017-09-22 03:01:26

标签: excel vba excel-vba

在宏之前:

第1栏|第7栏

PHRT1S | TEST_TEST_TEST_TEST

MacrO之后:

第1栏|第7栏

PHRT1S | TEST_TEST_TEST_TEST(PHRT1S)

但是,如果即使ID没有被追加但只有random()存在,那么如果那里有()那么宏将会跳过逻辑原因。

理想情况下,我想为这种情况做好准备:

在宏之前

第1栏|第7栏

PHRT1S | TEST_TEST_TEST(TEST)

之后

第1栏|第7栏

PHRT1S | TEST_TEST_TEST(TEST)(PHRT1S)

如果列1的值已存在,则跳过将第1列的值附加到第7列,而不是仅通过单一的限制来识别它。

My Macro如下:

With xlSheet


    LastRow = xlSheet.UsedRange.Rows.Count
    Set target = .Range(.Cells(15, 9), .Cells(LastRow, 9))
    values = target.Value

    Set ptype=.Range(.Cells(15,6),.Cells(LastRow,6))
    pvalues=ptype.Value

    For i = LBound(values, 1) To UBound(values, 1)
    'if Statement for test keywords
    If InStr(1,pvalues(i,1),"Package")= 0 AND InStr(1,pvalues(i,1),"Roadblock")= 0 Then 
    If InStr(1,values(i,1),"(")=0 Then
    values(i, 1) = values(i, 1) & "(" & .Cells(i + 15 - LBound(values, 1), 3) & ")"
    End If 
    End If
    Next
    target.Value = values
End With

1 个答案:

答案 0 :(得分:1)

这不适合你吗? try: #Code part may give error except Exception: #If error what to do.. ,意思是代替查找括号,确保尚未添加该类型。