[英]VBA macro to loop through cells, find matches, and copy adjacent cells
[英]VBA Copy Adjacent Cells
我正在尝试编写一个宏,该宏将使用if语句将数据从一个位置复制到另一个位置。
本质上:
如果Range.Cells(i,j).Value =“ Hello”,则将三个单元格复制到单词“ Hello”的右侧
我想我可能必须使用偏移? 我经验不足,将不胜感激! 谢谢!
编辑:
这就是我的代码:
For i = 1 To danesRange.Rows.Count
For j = 1 To danesRange.Columns.Count
If danesRange.Cells(i, j).Value = "Ins" Then
danesRangevalues.Cells(i, j).Copy
End If
Next j
Next i
我知道如何使用VBA复制和粘贴,但是我不知道如何复制和粘贴未知范围,因为我不知道这三个单元格的确切范围,这取决于“ INS”值的落差。 到目前为止,我只会复制相邻的单元格,而不是全部三个。
实际上,这里需要使用“ Resize
Offset
。
所以改变这个:
If danesRange.Cells(i, j).Value = "Ins" Then
danesRangevalues.Cells(i, j).Copy
End If
对此:
If danesRange.Cells(i, j).Value = "Ins" Then danesRange.Cells(i, j).Offset(,1).Resize(1, 3).Copy
因此,将danesRange.Cells(i,j)
偏移一列,然后使范围长3列。
我也同意拉尔夫的评论。 设置方式似乎是跨列复制冗余数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.