一、对于第" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何在VB中编程对<em>EXCEL</em>中数据进行<em>分列</em&

如何在VB中编程对<em>EXCEL</em>中数据进行<em>分列</em&

作者:乔山办公网日期:

返回目录:excel表格制作


运用数组这个概念,用split这个函数去查找中间的分隔符,然后循环依次向后在单元格中赋值。

一、对于第1、3两个问题,我写的这个宏可以完美解决,代码如下:

Sub 分列()
'以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理
Dim m As Range, tmpStr As String, s As String
Dim x As Integer, y As Integer, subStr As String
If MsgBox("确定要分列处理吗?请确定分列的数据会覆盖它后面的单元格!", _
vbYesNoCancel + vbQuestion) <> vbYes Then Exit Sub
For Each m In Selection
x = m.Column()
y = m.Row()
tmpStr = m.Value
subStr = ""
For i = 1 To Len(tmpStr)
s = Mid(tmpStr, i, 1)
If s = " " And subStr = "" Then '连续的空格,忽略
ElseIf s = " " And subStr <> " " Then '空格表示e68a84e799bee5baa6362子串结束
Cells(y, x).Value = subStr
subStr = ""
x = x + 1
ElseIf s <> " " Then '新子串开始或进行中
subStr = subStr & s
End If
Next i
If subStr <> "" Then Cells(y, x).Value = subStr
Next m
End Sub

二、楼主所提的第2个问题,Excel早就考虑到了,所以Excel提供了一个叫个人宏工作簿的文件用来存放自己要用的宏!

可以通过录制宏到“个人宏工作簿”来让Excel自动建立“个人宏工作簿”,如果没有的话。然后,你按Alt+F8选中你所录制的宏,点单步执行,即可在宏编辑器中看到个人宏工作簿中的宏,此时你可把自己的代码放进去,或者删除自己胡乱录制的宏。

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

Sub 分列()
Sheets("数据").Select'激活“数据”工作表
Selection.ClearContents'清除“数据”表中copy,当前选中区域的内容
Range("B3").Select'选中B3单元格
ActiveSheet.Paste'粘贴
ActiveSheet.Paste'粘贴
Sheets("统计").Select'激活“统计”工作表
End Sub

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

相关阅读

  • word怎么排版两列-office2016分列,excel分列在哪

  • 乔山办公网office365
  • 如果你是要把整页分两zd列的话,那么你在页面设置中分两栏就可以了。如果你是要把这一页的某个部分分两栏的话,那么有两种方法可以解决:1、插入一个表格,表格分两列,在表格
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网