从Q列获取多个值,并添加一个“。”并在A列中搜索(如果存在),然后删除

时间:2019-07-18 14:08:00

标签: excel vba

我无法找到此问题的解决方案:

我有一张带有材料帐单的工作表。工作表是这样的:

https://ibb.co/xsJ7mfg

在B列中有一个以“ SGA”或“ SLA”开头的代码,我需要删除所有子代码。在这种情况下,在行B27中有一个代码“ SLA30521208”(在A列1.19.3中),我想删除子代码“ SLE30521208”和“ SLE30521206”。

在我的宏中,我获得了“ SGA”和“ SLA”的相应编号,并将其复制到Q列中。

现在,我想从Q列获取每个单元格的值,并添加一个“。”并与A列进行比较。如果结果匹配,请清除B列中相应行的单元格。 有人可以帮忙吗?

这是针对excel

Sub CopiaSgaSla()
    ary = Array("SGA", "SLA")
    Dim v As String, i As Long, j As Long
    Dim valore As String
    Dim Vdec As String
    Dim LastRow As Long
    Dim r As Excel.Range
    Dim d As Excel.Range
    For i = LBound(ary) To UBound(ary)
        v = ary(i)
        For j = 1 To Cells(Rows.Count, "B").End(xlUp).row
            If InStr(1, Cells(j, "B"), v) > 0 Then
                valore = Cells(j, "A").Value



                Cells(j, "Q").Value = valore
            End If

        Next j
    Next i
End Sub

1 个答案:

答案 0 :(得分:0)

我进行了很多搜索,发现有什么可以帮助的,但是当宏工作时,它会清除A中的所有单元格,而不仅仅是Q值

Sub Test()
Dim x1, x2 As Integer

For x2 = 1 To 200
  For x1 = 1 To 200
    If Range("Q" & Format(x1)).Value = Right(Range("A" & Format(x2)).Value, 1 & ".") Then
       Range("A" & Format(x1)).clear
    End If
  Next
Next
End Sub