用vba数组把A列分成几列

用vba数组把A列分成几列,第1张

看样子是遇到空行就提取为一列吧,这样的代码你是否满意呢:

sub 数组分列()

    dim arr,i,j,m,n

    n=cells(rows.count,1).end(xlup).row 'A列最后一行位置

    arr=cells(1,1).resize(n,1) '把A列有效内容存入数组

    j=4 '从4列开始保存数据

    i=1

    while i<=ubound(arr)

        '寻找空白前的行数n

        n=1

        while i+n<=ubound(arr) and arr(i+n,1)<>""    

            n=n+1

        wend

        cells(i,1).resize(n,1).copy cells(1,j) '复制列

        j=j+1 '下一列

        m=n+1 '下一行

    wend

end sub

'j表示数组的第几列 a(i, j) = Split(tmp, "|")(j - 1) '把tmp用”|“符号切割成5段,依次保存到数组第i行的5个列中 Next Loop Close #,xcfCsk。

Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic 脚本。该语言于1993年由微软公司开发的的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),实际上VBA是寄生于VB应用程序的版本。微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功能。

Sub 分列()

Sheets("数据").Select'激活“数据”工作表

Selection.ClearContents'清除“数据”表中,当前选中区域的内容

Range("B3").Select'选中B3单元格

ActiveSheet.Paste'粘贴

ActiveSheet.Paste'粘贴

Sheets("统计").Select'激活“统计”工作表

End Sub你的代码里根本没有分列啊~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11301050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存