【发布时间】:2012-11-27 22:55:07
【问题描述】:
我对 VBA 完全陌生。我有一个需要将数据与日期对齐的电子表格。随着工作表的更新,日期会动态变化。
基本上,下面的宏将一列上的数据向左移动(用从 K 列到 Q 的数据替换 J 列)并清除 Q 中的现有数据。数据只是值、公式和格式的组合。下面的宏有效,但是我需要它重复自身的次数,无论单元格 E3 中的值是多少(此单元格将考虑重新对齐数据的时间延迟)。
所以基本上有人可以根据 E3 中的值(如果它大于 1)帮助这个重复这个宏部分按原样添加IF ("E3") > 1,然后在 E3 中移动Range("K6:P500") 的次数。我试过这样做,但我不知道如何重复,而且我放在一起的 IF 并没有真正起作用。
再次感谢您提供任何帮助的建议!
' Week_update Macro
'
' Keyboard Shortcut: Ctrl+Shift+W
'
Range("K6:Q500").Select
Selection.Copy
Range("J6").Select
ActiveSheet.PasteSpecial Format:=2, Link:=1, DisplayAsIcon:=False, _
IconFileName:=False
Range("Q6").Select
Range("Q6:Q500").Select
Selection.SpecialCells(xlCellTypeConstants, 1).Select
Selection.ClearContents
End Sub
【问题讨论】:
-
你的意思是,如果 E3 有数字 3,例如,你想将所有内容从 Range("K6:Q500") 移动到 Range("H6:N500") 并清除 Range 中的所有内容(“O6:Q500”)?
-
如果 E3 等于 3,我希望当前在 M 列中现在在 J 列中,并且之前在 J-L 中的内容将被删除。保留 3 个空列(保留格式和任何公式,因此粘贴特殊)列以手动填充数据。