首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 办公应用 > OFFICE教程 >

怎么把1个格子里的数字与文字快速分成2个格子

2012-12-23 
怎样把1个格子里的数字与文字快速分成2个格子怎样把1个格子里的数字与文字快速分成2个格子,如,怎样把下图:

怎样把1个格子里的数字与文字快速分成2个格子
怎样把1个格子里的数字与文字快速分成2个格子,如,
怎样把下图:

 
分成下面的样子:

 
请问有哪些方法?
谢谢了

[最优解释]
如果数字是连续的话,那简单的, =LOOKUP(9E+307,--MID(A1,1,ROW(INDIRECT("1:"&LEN(A1)))))
[其他解释]
使用VBA可以不?需要指定具体的行数,容错性较差,且分拆的数据必须要有规律,每两列分拆数据之间要留出至少二行空间,不过分拆基本没有问题了。操作时,要用鼠标单击一下分拆列的最开始的那一个单元格,也就是这列最上面那个单元格了。
给个图:



Option Explicit

Sub SplitNumStr()

    Dim iRows As Long
    Dim strCellContent As String
    Dim iNumber As String
    Dim strString As String
    Dim strCurrentNum As String
    Dim i, t As Integer
    
    Do Until iRows <> 0
        iRows = Application.InputBox(Prompt:="请输入需分拆的行数:", _
             Title:="输入行数" ,  Type:=1)
    Loop
    
    For t = 1 To iRows
        strCellContent = ActiveCell.Value
        
        For i = 1 To Len(strCellContent)
            strCurrentNum = Mid(strCellContent, i, 1)
            If Not IsNumeric(strCurrentNum) Then
                Exit For
            End If
        Next i
        
        iNumber = Left(strCellContent, i - 1)
        strString = Right(strCellContent, Len(strCellContent) - i + 1)
        ActiveCell.Offset(0, 1) = iNumber
        ActiveCell.Offset(0, 2) = strString
        ActiveCell.Offset(1, 0).Select
    Next t

End Sub

[其他解释]
这个问题我也想解决……顶起……
[其他解释]
首选,Excel中是有分列功能的,分列功能需要有特别符号作识别才可以。
例如,空格,逗号,分号。
所以,第一步,是需要把你单元格中的数据建立符号识别,
如果你的所有单元格中都有 “啤酒”这个数据,那么你先使用 替换功能,将 “啤酒”替换
成“ 啤酒”(注意,这个前面加了空格)
第二步,选中那一列,然后点击Excel中的数据--->分列功能,
---〉选择 使用分隔符号,下一步
---〉选择 空格,下一步
---〉再下一步可以预览,最后完成。


[其他解释]
楼上,如果用VBA的话,你的代码两个for next,丝毫体现不出VBA的高效性,用正则就快多了
[其他解释]
to 5 楼:
我刚看VBA才两、三天时间,那有空看正则啊?要不,你搞个出来,大家围观一下。
[其他解释]
引用:

to 5 楼:
我刚看VBA才两、三天时间,那有空看正则啊?要不,你搞个出来,大家围观一下。


恩,是我话说重了
但是我始终觉得,基础技巧和函数,最简单的就是最实用的
而VBA用的人不多,如果一定要给代码,就要给更高效的代码,不然就体现不出VBA的优势了
[其他解释]
我也想知道怎么搞
[其他解释]
3楼正解,非常感谢!
4楼看不懂,很惭愧,
所以,3楼与4楼都给了分!
谢谢大家啦!
[其他解释]
引用:
如果数字是连续的话,那简单的, =LOOKUP(9E+307,--MID(A1,1,ROW(INDIRECT("1:"&amp;LEN(A1)))))
正解!非常感谢!

热点排行