看样子是遇到空行就提取为一列吧,这样的代码你是否满意呢:
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你的代码里根本没有分列啊~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)