Excel/VBA-对比方法系列-01-分割内容

微信公众号原文

系统:Windows 7
软件:Excel 2010

  • 今天讲讲如何对单元格里的文字内容按要求分列
  • 讲述两种方法:手动操作式;VBA代码式

方法1:手动实现

效果图

Excel/VBA-对比方法系列-01-分割内容_第1张图片
1.gif
  1. 选择拟分列数据,点击菜单数据-分列-点击分隔符号-点击下一步-分隔符号选择其他
  2. 将鼠标放置在其他后面的空白框,发现光标闪烁,接下来操作必须按顺序
  • 按下Alt键不放开,点击小键盘中的1,点击小键盘中的0,放开Alt
  • 本豆吐槽:尼玛,这种是打游戏时,要放大招的操作技巧吗,保证不打你
  1. 对于没有小键盘的一些笔记本,可以尝试一下,字母键上的数字键,但是没有测试过是否有效,欢迎读者留言反馈

闪烁的光标

Excel/VBA-对比方法系列-01-分割内容_第2张图片
2.gif

方法2:代码式实现

效果图

Excel/VBA-对比方法系列-01-分割内容_第3张图片
3.gif
  1. 方法1的缺陷是,可选择的分隔方式比较有限,稍微特殊一点,可能就无能为力了
  • 例如所有语句是以end end分隔,可能就不好整了
  1. 代码式实现,只要你可以发现规律,那么就可以实现
  2. 关键代码:
  • Split(old, Chr(10)),对old字符采用chr(10)进行分割,得到一个数组
  • chr(10)表示的是换行字符
  • 也就是说,只要有规律,可以将chr(10)换成另外的分隔符就可以了
Sub 拆分()
    Set sht = ThisWorkbook.Worksheets("示例")
    maxRow = sht.Cells(Rows.Count, "A").End(xlUp).Row
    For i = 1 To maxRow Step 1
        old = sht.Cells(i, "A")
        parts = Split(old, Chr(10))
        For j = 0 To UBound(parts)
            sht.Cells(i, j + 1) = parts(j)
        Next j
    Next
    sht.Cells.Rows.AutoFit
    sht.Cells.Columns.AutoFit
End Sub

代码截图

Excel/VBA-对比方法系列-01-分割内容_第4张图片
2.JPG

以上为本次的学习内容,下回见

如发现有错误,欢迎留言指出。文章定位:“字典查询类”


更多原创请关注微信公众号

扫描二维码,关注公众号
让重复工作一键化,让时间更有意义

Excel/VBA-对比方法系列-01-分割内容_第5张图片
公众号底部二维码.jpg

你可能感兴趣的:(Excel/VBA-对比方法系列-01-分割内容)