如果单元格包含单词IN并删除原始值,我想将值从一列复制到另一列(到同一行)。如果没有,代码应该进入下一行并执行新的测试。因此,目标列中的单元格将保持为空。
当我在Excel中运行代码时没有任何反应,所以我不知道出了什么问题。
理想情况下,代码应跳转到下一列(8)并执行相同的搜索,并在第一列完成时将值粘贴到同一列(5)中,但是我还没有开始。所以我也非常感谢提示:)
Sub Size()
Dim i As Integer, a As String
i = 2
a = "IN"
Do While Cells(i, 7).Value <> ""
If InStr(Cells(i, 7), a) Then
'copying the value to another column but within the same row
Cells(i, 7).Copy Cells(i, 5)
Cells(i, 7).Clear
i = i + 1
Else
i = i + 1
End If
Loop
End Sub
答案 0 :(得分:0)
我发现第7列中的第一个单元格是空的,因此Do While Cells(i, 7).Value <> ""
无效。因此,我指的是始终包含数据的不同列。请注意,解决方案代码也会跳转到下一列,以便搜索相同的单词。
Sub Size()
Dim i As Integer, a As String
j = 0
i = 1
a = "IN"
Range("A1").Offset(i, 0).Select
For j = 0 To 2
Do Until Selection.Value = ""
If InStr(Range("G1").Offset(i, j).Value, a) Then
Range("E1").Offset(i, 0).Value = Range("G1").Offset(i, j).Value
Range("G1").Offset(i, j).Clear
i = i + 1
Range("A1").Offset(i, 0).Select
Else
i = i + 1
Range("A1").Offset(i, 0).Select
End If
Loop
i = 1
Range("A1").Offset(i, 0).Select
Next j
End Sub