我一直在尝试开发一个宏,它允许我将值或文本从一行剪切并粘贴到上一行,如果某些特定列中的上一行是空的。 (如果可能的话,我想在此之后删除空行。)
4137274 20120604 41.6 10.83 Tolerance exceeded 4137279 20120604 Tax code missing 55.9 -0.04 4137271 20120604 111.8 -11.26 Tolerance exceeded 4137325 20120604 Tax code missing 130.72 0 4139318 20120605 65.36 0 Tax code missing 4139114 20120605 223.6 -22.54 Tolerance exceeded 4139279 20120605 111.8 111.8 Tolerance exceeded 4139151 20120605 65.36 65.36 GR does not exist 4140802 20120605 27.95 -0.02 Tax code missing 4140732 20120605 27.95 27.95 GR does not exist
如上所示,部分价格在下一行。我必须处理大量数据,因为无法手动剪切和粘贴所有数据。有没有办法用宏或其他方式做到这一点?
答案 0 :(得分:2)
不为你编写宏,这里有一些伪代码和一些指针:
Selection.Delete Shift:=xlUp
并增加empty counter
empty counter
并向下移动empty counter
达到10(或某个数字表示该列中不存在更多数据)时,请退出循环。执行Selection.Delete Shift:=xlUp
而不是执行剪切/粘贴以移动值,而不是删除空单元格并将其下方的所有内容向上移动一个单元格。如果您只选择了 一个 单元格,则不会影响其他列。