以下代码有效,但我相信必须有更好的方法。我很乐意听到其他策略。
我的代码的目的是找出任何字母(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