学习vba之按列合并将选定区域的单元格合并成一列

学习VBA-合并列

    首先选定一个区域,将这个区域的内容按列合并到该区域的后一列中。

    学习过程中,如有错误或改进之处,还请多多指教!

Sub 合并列()

    Dim hang As Integer '控制输出的行
    Dim lie As Integer '控制输出的列
    hang = Selection.Cells(1).Row
    lie = Selection.Columns.Count + Selection.Cells(1).Column '默认在选定区域后的第一列输出
    Dim sHang As Integer '选定区域的左上第一个单元格的行下标
    Dim sLie As Integer '选定区域的左上第一个单元格的列下标
    For sLie = Selection.Cells(1).Column To Selection.Columns.Count + Selection.Cells(1).Column - 1 '列后循环 Selection.Columns.Count 为选定区域的列数
        For sHang = Selection.Cells(1).Row To Selection.Rows.Count + Selection.Cells(1).Row - 1 '行先循环
            If Cells(sHang, sLie) = "" Then '若当前单元格内容为空则跳出当前循环
                Exit For
            End If
            Cells(hang, lie) = Cells(sHang, sLie) '若不为空则在输出单元格输出数据
            hang = hang + 1 '输出行标加1
        Next
    Next

End Sub

测试如下:

    选定单元格:

    

    执行结果:

    

    选定单元格:

    

    执行结果:

    

    

    

       

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值