我有一个范围I13到I6076 . 我首先开始I13单元格并在Range中找到匹配(“D12:D103333”) . 如果它在Col D中找到匹配,那么它应该从Col D单元偏移Activecell.offset(1,1)并将接下来的16个单元(垂直副本)复制到相应的I13行(水平粘贴) . 然后转到I14,依此类推 . 我创建了一个do while循环来查找范围Range(“D12:D103333”)中的单元格,但是如何偏移和复制接下来的16个单元格 . 然后去col I的下一个单元格 . 任何帮助将不胜感激 . 非常感谢 . 代码如下 .
Sub Kantar()
Dim Category As String
i As Integer
Range("I13").Select
Do While Not IsEmpty(ActiveCell)
Category = ActiveCell.Value
Range("D12:D103333").Find(What:=Category, MatchCase:=True).Select
ActiveCell.Offset(1, 0).Select
Loop
结束子
2 回答
尝试做这样的事情:
1)一旦找到细胞,
activecell.offset(1,1)
2)从那里,使用
activecell.address
和activecell.address + 16
作为范围来做range.copy
3)将活动单元格偏移到要粘贴的位置 .
4)使用转置粘贴特殊以水平移调(使用宏录制器向您显示如何不确定)
5)偏移回原始单元格(基于你最终的位置的坐标)
6)偏移1个单元并继续循环 . (你已经编码了)
我会给出实际代码,但我不是在PC上 . 希望这些步骤仍然有用,如果其他人不给你代码:)
首先,我想感谢Busse为我提供合理的步骤来获得答案 . 这是超级有用的 . 所以我在下面复制我的代码,这可能会帮助几个有类似问题的用户 . 谢谢:))