用VBA使Excel一列二行轻易快速重排成一行二列
(相关资料图)
要求:
现在有这样一个EXCEL数据和表格形式转换的需要,即将Excel两行轻易快速重排,变成一行二列,先将列 A 中的数据按照每两行为一组进行复制(将当前行的数据复制到列 C、将下一行的数据复制到列 D。),最后删除列 C 和列 D 中的空白单元格调整表的格式。见下图所示:
实现方法(VBA代码):
Sub ProcessData() Dim lastRow As Long Dim i As Long Dim rng As Range Dim cell As Range "获取A列最后一行的行号 lastRow = Cells(Rows.Count,"A").End(xlUp).Row "从第二行开始,每两行复制一次数据 For i =2 To lastRow Step 2" 将当前行的数据复制到C列 Cells(i,"C").Value = Cells(i,"A").Value "将下一行的数据复制到D列 Cells(i,"D").Value = Cells(i +1,"A").Value Next i "获取C列最后一行的行号 lastRow = Cells(Rows.Count,"C").End(xlUp).Row "设置范围为C2:D最后一行 Set rng = Range("C2:D"& lastRow)" 遍历范围中的每个单元格 For Each cell In rng "检查单元格是否为空 If cell.Value ="" Then "删除空白单元格,并将上方的单元格向上移动 cell.Delete Shift:=xlUp "重新设置范围为C2:D最后一行 Set rng = Range("C2:D"& lastRow) End If Next cellEnd Sub
这段代码可以用于对Excel表格中的数据进行处理和转换,使其符合特定的数据结构或格式要求。通过适当修改代码中的列号和范围,可以根据具体情况进行定制和扩展。
关键词: