两列变一列,这些方法你会几种?
如下图所示,需要将A2:B9的两列内容,转变为D列的样子.
思考一下,有几种方法能实现呢?
这个题目乍一看,是不是有点难度?
今天咱们要使出浑身解数,一起玩个够。
按Alt+F11,打开VBE编辑器,在代码窗口中输入以下代码:
Sub run()
For i = 1 To 8
Cells(2 + (i - 1) * 2, 4) = Cells(i + 1, 1)
Cells(3 + (i - 1) * 2, 4) = Cells(i + 1, 2)
Next i
End Sub
代码中使用For循环,执行单元格赋值操作。只要运行宏run,就可以得到需要的结果了。
D2单元格输入以下公式,向下复制。
=OFFSET(A$2,(ROW(A1)-1)/2,MOD(ROW(A1)-1,2))
(ROW(A1)-1)/2部分,用于生成0、0.5 、1 、1.5……这样有规律的序号,用作OFFSET函数的行偏移参数时会自动取整,也就是相当于0、0、1、1、2、2……,再说明白一点,就是公式每向下拖动两行,即从A2向下偏移1行。
MOD(ROW(A1)-1,2)部分,用于生成0、1、0、1……这样循环的序号,作为OFFSET函数的列偏移参数。也就是公式下拉一行,向右偏移0列,即引用A列,再下拉一行,向右偏移1列,到了B列。
如此往复。
技巧法就多了,咱们一起看看:
1、选择性粘贴法
2、对齐填充法
3、Word替换法
替换时使用的 ^t 表示制表符,^p表示段落标记。也就是将制表符全部替换为段落标记。
光说不练假把式,光练不说傻把式,你也动手试试吧。
图文制作:祝洪忠
赞 (0)