VBA嵌套换循环替代或忽略值,如果满足一次

时间:2017-06-13 02:42:36

标签: vba

以下代码有效,但我相信必须有更好的方法。我很乐意听到其他策略。

我的代码的目的是找出任何字母(Z,A,B,C)在其旁边的相应单元格中是否具有值1。如果这封信我想复制那封信的所有相应值。

Column1 ___第2列

ž_________ 0

ž_________ 1

c ^ _________ 1

一个_________ 0

c ^ _________ 1

B _________ 0

结果:

ž_________ 0

ž_________ 1

c ^ _________ 1

c ^ _________ 1

我标记的行包含一个已满足包含" 1"的标准的字母。用" RHO"这个词。这是我的快速修复,以防止它复制值两次(即上面的C行被复制两次,因为有两次出现1)

  Sub Testzone()
  Dim rng As range
  Dim wb As Workbook
  Dim catid
  Dim cell
  Dim col1

  Set wb = ThisWorkbook
For Each cell In wb.Sheets(1).range("B1", Cells(Sheets(1).Rows.Count, 2).End(xlUp))

If cell.Value = 1 Then
     catid = cell.Offset(0, -1).Value

       For Each col1 In wb.Sheets(1).range("A1:A10")
           If col1 = catid And col1.Offset(0, 2) <> "RHO" Then
                wb.Sheets(1).Rows(col1.Row).Copy wb.Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
                col1.Offset(0, 2).Value = "RHO"
            End If
        Next col1
End If
 Next cell

 End Sub

0 个答案:

没有答案