excel学习库

excel表格_excel函数公式大全_execl从入门到精通

用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表格中的数据进行处理和转换,使其符合特定的数据结构或格式要求。通过适当修改代码中的列号和范围,可以根据具体情况进行定制和扩展。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接