繁体   English   中英

VBA复制相邻单元格

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM